Как заставить родительский div расти вместе с его дочерними элементами?

Как сделать родительский элемент / контейнер DIV растут по мере добавления детей DIV. Также в Interface Builder перетащите два пользовательских представления в проект и добавьте несколько текстовых полей, кнопок и т. Д.

Создайте класс контроллера (например, myController) со следующими IBOutlet s:

  • IBOutlet NSScrollView * myScrollView
  • IBOutlet NSView * myCustomView1
  • IBOutlet NSView * myCustomView2

Подключите выходы к элементам управления в Interface Builder.

Создайте подкласс NSView , чтобы перевернуть documentView :

@implementation myFlippedView

-(id)initWithFrame:(NSRect)frame {
    self = [super initWithFrame:frame];
    if (self) {
        // Initialization code here.
    }
    return self;
}

-(void)drawRect:(NSRect)dirtyRect {
    // Drawing code here.
}

-(BOOL)isFlipped {
    return YES;
}

Выберите documentView из NSScrollView в Интерфейсном Разработчике и сделайте его подклассом myFlippedView . В Интерфейсном Разработчике вы должны выбрать NSScrollView, а затем щелкнуть его еще раз, чтобы перейти к documentView , или измените библиотеку IB, чтобы отобразить древовидное представление, и выберите дочернее пользовательское представление NSScrollView .

В классе myController поменяйте местами представления с помощью следующих методов:

-(void)awakeFromNib {

    [myScrollView setDocumentView:myCustomView1];
}

-(IBAction)swapViews:(id)sender {

    if ([myScrollView documentView] == myCustomView1) {

        [myScrollView setDocumentView:myCustomView2];

    } else {

        [myScrollView setDocumentView:myCustomView1];

    }
}

Наконец, подключите кнопку в своем проекте к действию swapViews , построить и запустить.

Проблема в том, что координаты не были разрешены, как ожидалось с isFlipped.

10
задан Hooligancat 15 January 2011 в 01:38
поделиться