Така че имам UITableView с персонализирана клетка...
Ето клетката:
И ето xib с UITableView:
Не мога да обясня белите полета от двете страни на сините клетки???
Опитах:
override func viewDidLoad() {
super.viewDidLoad()
...
table.layoutMargins = UIEdgeInsetsZero
table.separatorInset = UIEdgeInsetsZero
}
Дори опитах съвета от iOS 8 UITableView separator inset 0 не работи а>:
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
var cell:Cell_Jobs = self.table.dequeueReusableCellWithIdentifier("Cell_Jobs") as Cell_Jobs
cell.area.text = "Hello"
// kill insets for iOS 8
let nf = NSNumberFormatter()
let version = nf.numberFromString(UIDevice.currentDevice().systemVersion)
if(version?.floatValue >= 8){
cell.preservesSuperviewLayoutMargins = false
cell.layoutMargins = UIEdgeInsetsZero
}
// iOS 7 and later
if(cell.respondsToSelector("setSeparatorInset:") ) {
cell.separatorInset = UIEdgeInsetsZero
}
return cell
}
Но все още не мога да накарам лявото и дясното поле да изчезнат...
какво правя грешно
XCode6.1.1. Сграда за iOS 8.
И ето проблемния изход с нежеланите маржове:
Актуализация за @Teemu Kurppa:
В viewDidLoad()
направих:
self.view.backgroundColor = UIColor.yellowColor()
self.table.backgroundColor = UIColor.cyanColor()
В tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath)
направих:
cell.contentView.backgroundColor = UIColor.redColor()
Актуализация 2:
Така че успях
- Изтрих родителския UIView
- Създадох нов UIView
- Добавих отново UITableView и UIActivityIndicatorView
Копирах и поставих (Apple+C) от Objective-C xib (който беше написан преди повече от година) в нов Swift xib - подозирам, че имаше някои смешни настройки, които се задържаха, които причиняваха тези необясними полета.
Благодаря за помощта момчета,
Update Constraints
в Storyboard/IB? В противен случай iOS ще използва автоматично генерираните ограничения по време на изпълнение - person lukas   schedule 28.02.2015