2015-02-22 2 views
0

В быстром, у меня есть представление в пользовательском интерфейсе, и у меня есть фон, установленный как прозрачный для прозрачного фона, а для iPhone он отлично работает. Но для iPad это не так, у него белый фон, непонятный. Я увидел ответ, но он не был быстрым, но это тоже не сработало. Мой код для iPhone является:sweep iPad Table View not Transparent

tableview.backgroundcolor = UIColor.clearcolor() 

Я попытался добавить:

tableview.background = nil 

Но это не работает.

+0

Возможно, цвет фона ваших IP-камер является 'whiteColor' по умолчанию, и поэтому вы не можете их видеть полупрозрачный. – holex

ответ

0

Где вы добавляете этот код? Недавно у меня была аналогичная проблема с табличным представлением, что я был подклассифицирован. Установка цвета фона для очистки отлично работала в подклассе для iPhone, но на iPad он все еще отображался как белый.

Моим решением было то, что я должен был также поместить его в функцию viewWillAppear на конкретном TableViewController, который содержал таблицу.

// myTableViewController 
override func viewWillAppear(animated: Bool) { 
    super.viewWillAppear(animated) 
    myTableView.backgroundColor = UIColor .clearColor() 
} 
3

Я столкнулся с той же проблемой. Кажется, что где-то в процессе добавления UITableView в окно (между willMoveToWindow и didMoveToWindow), некоторые iPad сбросят backgroundColor таблицы на белый. Он делает это скрытно, не используя свойство backgroundColor.

теперь я использую это в качестве базового класса вместо UITableView, когда мне нужен цветной/прозрачный стол ...

class ColorableTableView : UITableView { 
    var _backgroundColor:UIColor? 
    override var backgroundColor:UIColor? { 
     didSet { 
      _backgroundColor = backgroundColor 
     } 
    } 
    override func didMoveToWindow() { 
     backgroundColor = _backgroundColor 
     super.didMoveToWindow() 
    } 
} 

EDIT: Клетки также поставили свои BackgroundColor, чтобы белый на моем IPad в то же самое (т. е. те, которые находятся в таблице во время перехода к окну), поэтому то же самое относится к ним, чтобы вы не попали в нечетную непрозрачную ячейку, время от времени появляющуюся при повторном использовании ...

class ColorableTableViewCell : UITableViewCell { 
    var _backgroundColor:UIColor? 
    override var backgroundColor:UIColor? { 
     didSet { 
      _backgroundColor = backgroundColor 
     } 
    } 
    override func didMoveToWindow() { 
     backgroundColor = _backgroundColor 
     super.didMoveToWindow() 
    } 
}