Странное поведение при загрузке представления из xib / nib - PullRequest
0 голосов
/ 11 февраля 2011

Я испытываю странное поведение моего приложения при загрузке представлений из xib / nib. Я больше не могу получить доступ к своим элементам управления, которые я подключил к конструктору интерфейсов из кода - значит, я не могу заменить их или изменить текст и сортировку. (хотя все равно элементы управления будут запускать IBActions .. как нажатия кнопок) У меня была эта проблема уже с uisearchbar. но экстенсивное удаление и добавление его снова и повторное перепечатывание в Интерфейсном Разработчике как-то решило проблему. iPad / iPhone uiSearchbar прозрачный фон

Я хочу избегать делать это с каждым кровавым контролем в этом сибе, поэтому я попытался зафиксировать это. Я обнаружил, что как только я загружаю представление из моего xib, начинается странное поведение. (хотя уже работающие элементы управления, такие как панель uisearch, продолжают работать)

Что я делаю, так это загружаю пару видов (из той же самой xib, владельцем которой является viewcontroller), чтобы поместить их в вид прокрутки. это работает хорошо ..

вот код:

UIView *viewContainer = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 2304, 575)];
NSArray *nibViews1 = [[NSBundle mainBundle] loadNibNamed:@"ViewController_iPad" owner:self options:nil];
PrescriptionView *view1 = [nibViews1 objectAtIndex:1];
NSArray *nibViews2 = [[NSBundle mainBundle] loadNibNamed:@"ViewController_iPad" owner:self options:nil];
PrescriptionView *view2 = [nibViews2 objectAtIndex:1];
NSArray *nibViews3 = [[NSBundle mainBundle] loadNibNamed:@"ViewController_iPad" owner:self options:nil];
PrescriptionView *view3 = [nibViews3 objectAtIndex:1];
NSMutableArray *arrayViews = [[NSMutableArray alloc] init];
[arrayViews addObject:view1];
[arrayViews addObject:view2];
[arrayViews addObject:view3];
int intX = 1;
int intY = 1; 
for (UIView *viewImage in arrayViews)
{
    [viewImage setFrame:CGRectMake(intX, intY, 768, 575)];
    [viewContainer addSubview:viewImage];
    intX = intX + 768;
}

[arrayViews release];
[prescriptionScrollView setContentSize:CGSizeMake(2304, 575)];
[prescriptionScrollView addSubview:viewContainer];
[viewContainer release];

Энди идеи? предложения? это ошибка?

Большое спасибо.

С наилучшими пожеланиями T

Ответы [ 2 ]

0 голосов
/ 16 февраля 2011

Как вы определяете свои торговые точки?Они должны быть определены следующим образом:

@property (nonatomic, retain) IBOutlet MyView *myViewOutlet;

Также обратите внимание, что выходы должны быть освобождены и очищены в viewDidUnload и dealloc.

0 голосов
/ 16 февраля 2011

Как обновление для этого, я почти уверен, что это ошибка. Помещение представления в его собственный файл nibfile вместо загрузки представления внутри того же самого xib помогло избавиться от этого странного поведения. Так или иначе, я поднял билет поддержки с яблоком, но после того, как дважды отклонил мой билет по некоторым глупым причинам, я устал от попытки. спасибо всем, кто нашел время, читая это. ура!

...