Обновленный Xcode, у меня есть 2 представления Identicle с UIScrollView. Один вид прекрасно добавляет компоненты в UIScroll, другой — нет.

У меня есть приложение, которое прекрасно работает уже много лет. Я обновил XCode, и теперь одно из моих представлений делает странные вещи.

Ни один из объектов, которые я пытаюсь добавить в UIScrollview, не отображается.

У меня есть 2 экрана, которые в основном идентичны по коду (я буквально копирую и вставляю). Один из них работает нормально, я нажимаю кнопку, чтобы перейти на другой экран, и он не отображает НИКАКИХ компонентов, которые я пытаюсь добавить в представление прокрутки.

Любые идеи относительно того, что может быть не так? Почему он внезапно перестал добавлять компоненты после обновления Xcode?

У меня есть фоновое изображение, которое я протестировал и изменил на self.view, которое отлично меняется. Но все, что я пытаюсь добавить в свой UIScrollView, ничего не добавляется. Некоторый пример кода...

моя декларация .h

@interface OutgateInputViewController : UIViewController<UITextFieldDelegate,UIPickerViewDelegate>{
IBOutlet UIScrollView *outputsView;

образец в моем .m

UIGraphicsBeginImageContext(self.view.frame.size);
[[UIImage imageNamed:@"inputbackground.png"] drawInRect:self.view.bounds];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

self.view.backgroundColor = [UIColor colorWithPatternImage:image];


int x = 20;
int y = 20;

CGRect myImageRect = CGRectMake(0, 15, 320, 32.5);
UIImageView *myImage = [[UIImageView alloc] initWithFrame:myImageRect];
NSString *imgName = @"screen_logo.png";
[myImage setImage:[UIImage imageNamed:imgName]];
[outputsView addSubview:myImage];
y = y + 30;

довольно стандартные вещи. это ТОЧНАЯ копия до этого момента экрана, который работает. (даже копия спустя много времени, я просто извлекаю данные из другого места). Итак, есть идеи, что изменилось?


person JMD    schedule 12.10.2012    source источник
comment
Что отобразит NSLog(@"Super: %@, Sub: %@", outputsView, myImage);, если вы добавите его перед addSubview:?   -  person Phillip Mills    schedule 12.10.2012
comment
Что ж, при дальнейшем расследовании кажется, что эта точка зрения только что была искажена. Все, что добавлено через меню перетаскивания в раскадровке, полностью сломано. Я повторно отредактировал свой код, чтобы программно добавить UIScrollView, и он работал нормально. По-видимому, все, что добавлено в перетаскивание, совершенно не отвечает. У меня есть строка заголовка с двумя кнопками, и они выглядят так, как будто они находятся в «заблокированном» режиме. Нажатие на них совершенно ничего не делает (они даже не анимируются, как вы нажимали кнопку. выглядит так, как будто экран завис)   -  person JMD    schedule 12.10.2012


Ответы (1)


Я вернулся и переделал все с нуля, и видимо по какой-то причине ЭТОМУ View нужен дополнительный __weak в начале объявления в .h...

пока не знаю, почему, но это решило проблему нарушения всего представления.

__weak IBOutlet UIScrollView *outputsView;
person JMD    schedule 12.10.2012