Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 6 của 6
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

  2. #2
    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

  3. #3

    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

  4. #4
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi haian
    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 tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi slk_at
    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

  6. #6
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi haian
    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 viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •