Сегментированный контроль UIpopover - PullRequest
0 голосов
/ 31 января 2012

Кто-нибудь знает какие-либо ссылки / руководства о том, как поместить сегментированный элемент управления в UIpopover? одно из представлений имеет представление прокрутки, и когда выбран индекс сегмента, представление прокрутки появляется поверх остальной части поповера, и сегмент не может быть выбран

- (IBAction) segmentAction:(id)sender 
{
    UISegmentedControl* control = sender ;

    if( [control selectedSegmentIndex] == 0 )
    {

        [ self.view addSubview:Firstview1] ;
    }
    if( [control selectedSegmentIndex] == 1 ) 
    {  

        [scrollview1 setScrollEnabled:YES];
        [scrollview1 setContentSize:CGSizeMake(320, 480)];
        self->Secondview2=scrollview1;
        [scrollview1 release];

        [ self.view addSubview:Secondview2] ;
    }
    if( [control selectedSegmentIndex] == 2 ) 
    {
        [ self.view addSubview:Thirdview3] ;
    }


}

Совет был бы оценен

1 Ответ

1 голос
/ 03 декабря 2012

Прежде всего, когда вы используете управление сегментами, не просто добавляйте подпредставления в каждом сегменте, потому что при переключении сегментов подпредставления не удаляются. Для представления с прокруткой просто измените размер содержимого. Так что лучший способ заключается в следующем:-

viewDidLoad()
{
[ self.view addSubview:Firstview1] ;
Firstview1.hidden = yes;
[ self.view addSubview:Secondview2] ;
Secondview2.hidden = yes;
[ self.view addSubview:Thirdview3] ;
Thirdview3.hidden = yes;

}

(IBAction) segmentAction:(id)sender 
{
    UISegmentedControl* control = sender ;

    if( [control selectedSegmentIndex] == 0 )
    {
Firstview1.hidden = no;
       Secondview2.hidden = yes;
Thirdview3.hidden = yes;
    }
    if( [control selectedSegmentIndex] == 1 ) 
    {  

        [scrollview1 setScrollEnabled:YES];
        [scrollview1 setContentSize:CGSizeMake(320, 480)];
        self->Secondview2=scrollview1;
        [scrollview1 release];

       Firstview1.hidden = yes;
       Secondview2.hidden = no;
Thirdview3.hidden = yes;
    }
    if( [control selectedSegmentIndex] == 2 ) 
    {
        Firstview1.hidden = yes;
       Secondview2.hidden = yes;
Thirdview3.hidden = no;
    }

}

...