[英]Custom UITableViewCell width issue
我有一個自定義的UITableViewCell和.xib。 在xib中,我將像元寬度設置為320。
我想相對於單元格寬度在單元格內放置一個UIlabel。 但是,在運行時的代碼中,單元的Bounds.width始終為320(如在xib中設置的),而不是我需要正確放置UILabel的屏幕/ UITableView的實際寬度。
顯然,至少在運行時,iphone 5、6和6+的寬度應該不同,但是在所有設備上,寬度始終設置為320。 我想念什么?
謝謝!
編輯
這是一小段代碼。
var newFrame = _lblDetail.Frame;
newFrame.X = Bounds.Width - 55; //get current width of cell, and subtract 55 and set that as the X value of the frame for the label
_lblDetail.Frame = newFrame; //set new frame on label
單元格的tableview始終具有320的寬度,表明該表未響應屏幕尺寸。 然后,您需要檢查是否正確設置了表格視圖的自動布局約束(如果您使用的是自動布局),或者對於每個屏幕尺寸,表格視圖的框架設置都不同。
Bounds.Width
iPhone 4S和5將分別為320和iPhone 6+分別為375和414。
事實上,您看到的是320的寬度,這讓我相信您的應用尚不支持更高密度的屏幕,因此會將320放大。 您可以看出狀態欄(頂部的時間)會稍大。
為每個設備大小設置各自的啟動映像,所有操作將以每個設備的原始分辨率運行。
您需要以以下分辨率設置啟動映像:
Default-667h@2x.png for iPhone 6; dimensions 750x1334
Default-736h@3x.png for iPhone 6 Plus; dimensions 1242x2208
嘗試在layoutSubviews
方法中獲取寬度。
override func layoutSubviews() {
super.layoutSubviews()
NSLog("self.frame.size is %@", NSStringFromCGSize(self.frame.size))
}
以下是我的輸出
2015-07-21 10:10:34.942 MyApp [74669:1208599] self.frame.size為{768,310}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.