Từ 1 tới 6 trên tổng số 6 kết quả

Đề tài: Cố định cho Lanscapes cho màn hình

  1. #1
    Ngày gia nhập
    10 2008
    Nơi ở
    sài gòn
    Bài viết
    422

    Mặc định Cố định cho Lanscapes cho màn hình

    trong một số ứng dụng game khi load chưong trình mặc định nó sẽ fix sao cho load lên sẽ nằm ở màn hình landscapes, làm sao để chỉnh như vậy trong code nhỉ, dù có xoay ngang hay xoay dọc thì nó vẫn ở chế độ landscape
    cố gắng

  2. #2
    Ngày gia nhập
    09 2008
    Bài viết
    223

    Trích dẫn Nguyên bản được gửi bởi haian Xem bài viết
    trong một số ứng dụng game khi load chưong trình mặc định nó sẽ fix sao cho load lên sẽ nằm ở màn hình landscapes, làm sao để chỉnh như vậy trong code nhỉ, dù có xoay ngang hay xoay dọc thì nó vẫn ở chế độ landscape
    Xài hàm setTransform là có thể làm được việc này


    Code:
     [[self view] setTransform:CGAffineTransformMakeRotation(M_PI / 2)];
    P/S: @admin: Sao ko có cái code formatter nào cho Objective-C hết vậy cà
    Ân oán giang hồ nuôi tôi lớn
    Cuộc đời khốn nạn dạy tôi khôn
    Không đâm không chém đời không nể
    Không tiền không bạc gái không theo

    ----------------------
    Visit my blog: http://nova-soft.net/

  3. #3
    Ngày gia nhập
    10 2008
    Nơi ở
    sài gòn
    Bài viết
    422

    nhưng mà thế thì cái Xib của nó vẫn không thay đổi, ví dụ như trong cái Splitview có 2 cái khung, cả cái khung to thì chuyển sang dạng Landscape rồi nhưng những cái còn lại vẫn ở dạng portrait

    mình đã tìm được cách giải quyết
    Attached Thumbnails Attached Thumbnails Screen shot 2011-10-03 at 8.30.38 PM.png  
    Attached Files Attached Files
    cố gắng

  4. #4
    Ngày gia nhập
    07 2010
    Bài viết
    28

    Trích dẫn Nguyên bản được gửi bởi haian Xem bài viết
    nhưng mà thế thì cái Xib của nó vẫn không thay đổi, ví dụ như trong cái Splitview có 2 cái khung, cả cái khung to thì chuyển sang dạng Landscape rồi nhưng những cái còn lại vẫn ở dạng portrait
    Giả sử bây giờ có 1 UIVIewController và 2 UIView
    bây giờ ở view1 bạn xoay màn hình sang dạng Landscape , sau đó chuyển sang view2 thì trông view2 như bị "vỡ hình"(view2 không full màn hình ra được, và các subview sắp xếp lung tung)
    -Có 2 cách để khắc phục vấn đề của bạn
    1.với các ứng dụng nhỏ chỉ phải sử dụng 2-4 UIView qua lại bạn add tất cả vào rồi setHidden cho tất cả các UIView này , khi nào cần thì setHidden=NO (cách này đơn giản lại nhanh)
    2.với các ứng dụng lớn cần sử dụng nhiều UIView thì khi khởi tạo cùng lúc nhiều UIView ứng dụng khởi động sẽ chậm vậy nên khi đang ở view1 muốn chuyển sang view2 thì phải set frame lại cho view2 trước khi add vào . bạn chú ý là ở trạn thái portrait thì giá trị self.frame.size.width=320 còn ở Landscape thì self.frame.size.width=480
    -tiếp theo nữa là khi chuyển từ Landscape->portrait hoặc ngược lại thì các thành phần subView trong UIView sẽ sắp xếp lung tung không như bạn đã design trước khi đó bạn cần phải sử dụng
    đến autoresizingMask và autoresizesSubviews
    Bạn nên tham khảo cách sử dụng autoresizingMask vì cái này hơn rắc rối 1 chút

  5. #5
    Ngày gia nhập
    10 2008
    Nơi ở
    sài gòn
    Bài viết
    422

    Trích dẫn Nguyên bản được gửi bởi slk_at Xem bài viết
    Giả sử bây giờ có 1 UIVIewController và 2 UIView
    bây giờ ở view1 bạn xoay màn hình sang dạng Landscape , sau đó chuyển sang view2 thì trông view2 như bị "vỡ hình"(view2 không full màn hình ra được, và các subview sắp xếp lung tung)
    -Có 2 cách để khắc phục vấn đề của bạn
    1.với các ứng dụng nhỏ chỉ phải sử dụng 2-4 UIView qua lại bạn add tất cả vào rồi setHidden cho tất cả các UIView này , khi nào cần thì setHidden=NO (cách này đơn giản lại nhanh)
    2.với các ứng dụng lớn cần sử dụng nhiều UIView thì khi khởi tạo cùng lúc nhiều UIView ứng dụng khởi động sẽ chậm vậy nên khi đang ở view1 muốn chuyển sang view2 thì phải set frame lại cho view2 trước khi add vào . bạn chú ý là ở trạn thái portrait thì giá trị self.frame.size.width=320 còn ở Landscape thì self.frame.size.width=480
    -tiếp theo nữa là khi chuyển từ Landscape->portrait hoặc ngược lại thì các thành phần subView trong UIView sẽ sắp xếp lung tung không như bạn đã design trước khi đó bạn cần phải sử dụng
    đến autoresizingMask và autoresizesSubviews
    Bạn nên tham khảo cách sử dụng autoresizingMask vì cái này hơn rắc rối 1 chút

    ok mình đã hiểu,như vậy là chỉ cần set lại frame và shouldAutorotateToInterfaceOrientation đặt là YES là Ok đúng không bạn
    cố gắng

  6. #6
    Ngày gia nhập
    07 2010
    Bài viết
    28

    Mặc định Cố định cho Lanscapes cho màn hình

    Trích dẫn Nguyên bản được gửi bởi haian Xem bài viết
    ok mình đã hiểu,như vậy là chỉ cần set lại frame và shouldAutorotateToInterfaceOrientation đặt là YES là Ok đúng không bạn
    Chưa đâu bạn tiếp theo nữa là bạn phải set autoresizingMask autoresizesSubviews cho các subview nữa

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn