2013-08-16 2 views
0

я построил собственный UITableViewCell «customCell», внутри него есть только UIScrollView «Scrollview» и Scrollview: имеет 2 подвидовUIScrollView в пользовательском UITableViewCell

в customCell классе я поставил такой код, чтобы установить contentSize из Scrollview

(void)layoutSubviews{ 
    self.scrollView.contentSize = CGSizeMake(480, 120); 
} 

код дозвонились и contentSize работает корректно, НО есть то, что в contentSize повторно изменяет от self.scrollView до я-го по умолчанию значения чернила это из-за ограничений

я попытался изменить contentSize в этих методах, но ни один из них не решил проблему

-(void)awakeFromNib 
-(void)buildCell // this method get called from tableView method - tableView:cellForRowAtIndexPath: 

, где я должен установить contentSize моего Scrollview ???

- обновление:

это странное поведение: , когда я прокрутка таблицы просмотра вниз, метод layoutSubviews будет вызван снова, но на этот раз contentSize будет держать эту новое значение и не будет переопределен или изменить

- обновления 2:

, когда я удалил autoLayout из раскадровки файла все работало нормально ...... s
\, как решить эту проблему без удаления autoLayout

+0

Вы проверили, что self.scrollView указывает на прокрутку, на которую, по вашему мнению, указывает, и не ноль или что-то еще? – Jeff

+0

Да, я проверил это, self.scrollView указывает на правильный вид в storyBoard, и это не nil – homam

+0

Если это определенно не ноль во время выполнения, вы можете поместить наблюдателя KVO в свойство contentSize, чтобы узнать, где он изменяется. Это сложный способ отладить что-то, но он может ответить на ваш вопрос. – Jeff

ответ

0

лучшего решения:

  • в раскадровке я удалил все подвиды of scrollView
  • в -(void)awakeFromNib i создал все виды и добавил их программно в scrollView

и теперь все отлично работает

0

Если вы используете раскадровку мое предположение, это пойти и использовать

initWithCoder:(NSCoder *)coder; 

Этот метод вызывается после viewDidLoad, и это может иметь какое-то отношение к этому.

Это довольно странно, и я бы прокомментировать, как правило, чтобы обсуждение, но 50 репутация не позволит мне

+0

это не сработало :( , но когда я удалил autoLayout из файла storyBoard, все работало нормально – homam

+0

так что все хорошо сейчас? –

+0

Я всю ночь работал над ним, потому что я не хочу отключать автоспуск. .... наконец я нашел хороший sloution – homam

Смежные вопросы