iOS中ViewControl 中新增 ViewControl
阿新 • • 發佈:2019-01-24
ViewControl 中新增 ViewControl 今天正好遇到一個小困惑就是如果在ViewControl 中新增 ViewControl,經過查詢得知原來就是直接 addSubview 其ViewControl.view 即可 下面是相關的程式碼,可以在oneVC中先設定個顏色可方便看出其效果 OneViewController *oneVC = [OneViewController new]; UIView *myView= oneVC.view; CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"position"]; // 動畫選項的設定 animation.duration = 3; // 持續時間 animation.repeatCount = 1; // 重複次數 // 起始幀和終了幀的設定 animation.fromValue = [NSValue valueWithCGPoint:myView.layer.position]; // 起始幀 animation.toValue = [NSValue valueWithCGPoint:CGPointMake(0, 0)]; // 終了幀 // 新增動畫 [myView.layer addAnimation:animation forKey:@"remove"]; [self.view addSubview:oneVC.view];
iPhone開發 UITableView程式碼實現例項
http://mobile.51cto.com/iphone-278855.htm
iPhone開發 UITableView程式碼實現例項是本文要介紹的內容,介紹了UITableView的基本操作,以小例項實現,我們來看內容。
1、前題條件
1.1 UITableView不能直接載入到窗體中,窗體中首先要載入一個UIView控制元件,然後才可以新增UITableView
1.2 UITableView需要繼續兩個協議<UITableViewDelegate,UITableViewDataSource>
兩個協議的方法為:
--行的數量:
- -(NSInteger) tableView:(UITableView *)table numberOfRowsInSection:(NSInteger)section
- {
- return [tableArray count];
- }
- --行的定義
- -(UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
- {
- static NSString *SimpleTableIdentifier = @"SimpleTableIdentifier";
- UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:
- SimpleTableIdentifier];
- if (cell == nil)
- {
- //預設樣式
- cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
- reuseIdentifier: SimpleTableIdentifier] autorelease];
- }
- //文字的設定
- NSUInteger row=[indexPath row];
- cell.textLabel.text=[tableArray objectAtIndex:row];
- return cell;
- }
2、新增UIView
- UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0.0, 0.0, 320,260)];
- //自定識別頭及高度
- view.autoresizingMask = UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleHeight;
- view.backgroundColor = [UIColor blueColor];
- //將view新增到主窗體
- [self.view addSubview:view];
3、新增UITableView
- UITableView *table1=[[UITableView alloc] initWithFrame:CGRectMake(0, 0.00, 300, 250)];
- table1.autoresizingMask = UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleHeight;
- table1.backgroundColor=[UIColor redColor];
- //新增到view窗體上
- [view addSubview:table1];
- table1.delegate=self;
- table1.dataSource=self;
4、取消點選動畫
- [tableView deselectRowAtIndexPath:indexPath animated:YES];
5、滾動路徑標識,直至指數連續接收器在螢幕上的特定位置
- - (void)scrollToRowAtIndexPath:(NSIndexPath *)indexPath atScrollPosition:(UITableViewScrollPosition)scrollPosition animated:
- (BOOL)animated Parameters
indexPath
索引路徑標識在其行的索引,其部分指標表檢視行。
scrollPosition
一個常數,在接收標識表檢視行(上,中,下)的相對位置滾動時結束。
animated
是如果你要動畫在位置改變,沒有是否應立即生效。
例項程式碼:
- float height = 216.0;
- CGRect frame = m_pTableView.frame;
- frame.size = CGSizeMake(frame.size.width, frame.size.height - height);
- [UIView beginAnimations:@"Curl"context:nil];//動畫開始
- [UIView setAnimationDuration:0.30];
- [UIView setAnimationDelegate:self];
- [m_pTableView setFrame:frame];
- [m_pTableView scrollToRowAtIndexPath:selectedIndexPath atScrollPosition:UITableViewScrollPositionMiddle animated:YES];
- [UIView commitAnimations];
6、獲取選中的列,如圖所示:
程式碼如下:
- for (NSInteger i = 0; i < [[peopleTableView visibleCells] count]; i++)
- {
- UITableViewCell *cell = [[peopleTableView visibleCells] objectAtIndex:i];
- if (cell.accessoryType == UITableViewCellAccessoryCheckmark) //將勾選的人員新增到列表中
- {
- Item *item = (Item *)[NextPeopleList.SelectList objectAtIndex:i];
- [peopleList addObject:item];
- isCheck = TRUE;
- }
- }
7、Cell將要顯示時事件
- - (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
- {
- if (indexPath.row % 2 == 0) {
- cell.backgroundColor = DarkColor;
- }else {
- cell.backgroundColor = LightColor;
- }
小結:iPhone開發 UITableView程式碼實現例項的內容介紹完了,希望本文對你有所幫助!
http://mobile.51cto.com/iphone-278855.htm