как добавить несколько кнопок в scrollview

Я хочу добавить кнопки динамически вместе со списком прокрутки, предположим, что в scrollview добавлено 100 кнопок, было бы очень удобно добавлять их в файл nib, поэтому я хочу знать, как писать код, динамически добавлять кнопки поверх просмотр изображения на scrollview

Что вам нужно сделать, это создать цикл, создать UIButtons . Кнопки настройки и добавьте их в виде подпунктов в UIScrollView . Далее следует код.

 NSUInteger i; int xCoord=0; int yCoord=0; int buttonWidth=100; int buttonHeight=50; int buffer = 10; for (i = 1; i <= 100; i++) { UIButton *aButton = [UIButton buttonWithType:UIButtonTypeCustom]; aButton.frame = CGRectMake(xCoord, yCoord,buttonWidth,buttonHeight ); [aButton addTarget:self action:@selector(whatever:) forControlEvents:UIControlEventTouchUpInside]; [scrollView addSubview:aButton]; yCoord += buttonHeight + buffer; } [scrollView setContentSize:CGSizeMake(700, yCoord)]; 

То, что я в основном делаю здесь, – это переменные для координат X и Y. По мере того, как я зацикливаюсь, чтобы создать UIButtons я создаю соответствующую структуру CGRect чтобы решить, где разместить эту кнопку в UIScrollView . После добавления этой кнопки в scrollView измените значения X & Y на место, где вы хотите разместить следующую кнопку.

В конце не забудьте установить ContentSize для прокрутки, чтобы он включал прокрутку.

PS: Весь этот код набирается свободной рукой, может иметь небольшие синтаксические ошибки, но логика прочная.

Вы можете использовать код ниже, чтобы добавить несколько кнопок в scrollview:

Шаг 1:

 Delegate "UIScrollViewDelegate" to your Viewcontroller.h for example: @interface Viewcontroller : UIViewController<UIScrollViewDelegate> 

Шаг 2:

 //create you UIScrollView UIScrollView *Scroll_View= [[UIScrollView alloc]initWithFrame:CGRectMake(0 ,0 ,self.view.frame.size.width ,self.view.frame.size.height-0)]; Scroll_View.delegate= self; self.automaticallyAdjustsScrollViewInsets= NO; Scroll_View.backgroundColor= [UIColor clearColor]; Scroll_View.scrollEnabled= YES; Scroll_View.userInteractionEnabled= YES; [Scroll_View setShowsHorizontalScrollIndicator:NO]; [Scroll_View setShowsVerticalScrollIndicator:YES]; [self.view addSubview:Scroll_View]; 

Шаг 3:

 NSArray *optionsAry= [NSArray arrayWithObjects:@"My Profile & My Orders" ,@"Track Order" ,@"Settings" ,@"Contact Us" ,@"About Us" ,@"Terms & Conditions" ,@"Currency Converter" ,@"System Info" ,@"e-Commerce News App (News Billa)" ,@"Social Media" ,nil]; int y= 20; for(int i=0; i<optionsAry.count; i++){ UIButton *BTN_For_More= [[UIButton alloc] initWithFrame:CGRectMake(20 ,y , Scroll_View.frame.size.width-40 ,35)]; BTN_For_More.tag= i; BTN_For_More.backgroundColor= [UIColor whiteColor]; [BTN_For_More addTarget:self action:@selector(BTN_For_More_Action:) forControlEvents:UIControlEventTouchUpInside]; BTN_For_More.titleLabel.text= [NSString stringWithFormat:@"%@",[optionsAry objectAtIndex:i]]; BTN_For_More.titleLabel.textColor= [UIColor colorWithRed:12/255.0 green:104/255.0 blue:172/255.0 alpha:1.0f]; BTN_For_More.titleLabel.textAlignment= NSTextAlignmentCenter; BTN_For_More.titleLabel.font= [UIFont fontWithName:@"SourceSansPro-Regular" size:15]; //3D effects Start BTN_For_More.layer.shadowColor= [UIColor colorWithRed:0/255.0 green:0/255.0 blue:0/255.0 alpha:0.5f].CGColor; BTN_For_More.layer.shadowOffset= CGSizeMake(0 ,0);//2,2 BTN_For_More.layer.shadowRadius= 2.0; BTN_For_More.layer.shadowOpacity= 1.0; BTN_For_More.layer.masksToBounds= NO; //3D effects End [Scroll_View addSubview:BTN_For_More]; y= BTN_For_More.frame.size.height + y + 20; }//for loop END //10 Scroll_View.contentSize= CGSizeMake(Scroll_View.frame.size.width ,y); 

Шаг 4:

 -(void) BTN_For_More_Action:(NSString *)myString{ NSLog(@"you clicked on button %@", myString); } 
  • Как сделать автоматический прокрутка UIScrollView, когда UITextField становится первым ответчиком
  • Остановка ScrollView, идущая выше и ниже границ
  • проверьте, прошел ли scrollview.contentset определенное значение x
  • UICollectionView автоматически прокручивается вниз, когда загрузка экрана
  • Область взаимодействия UIScrollView не обновляется с помощью frame / contentSize
  • Как «переносить» постоянный жест из подсмотра в супервизор без перерыва?
  • Функция автопрокрутки для UILabel
  • Конфигурация страницы профиля iOS Twitter
  • Можно ли добавить фиксированный контент в UIScrollView?
  • Как всегда прокручивать UIScrollView?
  • Режим передачи голоса - прокрутка к просмотрам, которые не отображаются в прокрутке.
  • Давайте будем гением компьютера.