Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios UISegmentedControl设置UITableView、页面控件、滚动视图、图像视图_Ios_Xcode_Uitableview_Uisegmentedcontrol_Uipagecontrol - Fatal编程技术网

Ios UISegmentedControl设置UITableView、页面控件、滚动视图、图像视图

Ios UISegmentedControl设置UITableView、页面控件、滚动视图、图像视图,ios,xcode,uitableview,uisegmentedcontrol,uipagecontrol,Ios,Xcode,Uitableview,Uisegmentedcontrol,Uipagecontrol,我有一个4段的分段控件 第1段-我需要一个页面控件来左右滑动照片。最多1-4张照片 第2段和第3段-我需要一个表视图 第4部分-我需要它能够播放视频 我现在正在做这个 - (IBAction)infoAction:(id)sender { NSString * selectedTitle = [info titleForSegmentAtIndex:[info selectedSegmentIndex]]; NSLog(@"Selected Title = %@",selectedTitl

我有一个4段的分段控件

第1段-我需要一个页面控件来左右滑动照片。最多1-4张照片

第2段和第3段-我需要一个表视图

第4部分-我需要它能够播放视频

我现在正在做这个

- (IBAction)infoAction:(id)sender {

NSString * selectedTitle = [info titleForSegmentAtIndex:[info selectedSegmentIndex]];


NSLog(@"Selected Title = %@",selectedTitle);//test


switch ([info selectedSegmentIndex])

{   case 0:
    {
        test.text = [frogInfo.imageFiles objectAtIndex:0];
        test.textColor = [UIColor whiteColor];
        [tempImageView setImage:[UIImage imageNamed:@"Detail1Temp.png"]];
        break;

    }


    case 1:

    {    

        test.text = frogInfo.description;
                    test.textColor = [UIColor whiteColor];
        [tempImageView setImage:[UIImage imageNamed:@"Detail2Temp.png"]];
        break;

    }

    case 2:

    {
        test.text = frogInfo.distribution;
        test.textColor = [UIColor whiteColor];
        [tempImageView setImage:[UIImage imageNamed:@"Detail3Temp.png"]];
        break;

    }

    case 3:

    {

        test.text = [frogInfo.videoFiles objectAtIndex:0];
        test.textColor = [UIColor whiteColor];
        [tempImageView setImage:[UIImage imageNamed:@"Detail4Temp.png"]];
        break;

    }

}

}
带有页面控件的图片

剖面表视图

根据我想做的,有可能吗?在这种情况下,开关的功能是什么

任何人都可以显示或有任何关于如何计算页面控件滑动的教程链接吗

谢谢你的阅读


Des

尽管我使用了UISlider而不是分段控件,但我做了一些非常类似的事情——你需要的是一个可分页的UISCrollview,其中4个大小相等的页面(UIView)一个接一个地水平加载,如果占据iPhone的整个宽度,则每个页面的宽度为320,滚动视图的内容大小宽度为1280。捆绑UI分段控件以编程方式滚动页面:

假设页面宽度为320:

     -(IBAction)movepage:(id)sender {
      int xloc = (segmentedController.selectedSegmentIndex * 320);
      CGRect fieldrect = CGRectMake(xloc,0,320, pagesize.height);

    [scrollView scrollRectToVisible:fieldrect animated:YES];

}
要加载scrollview并管理页面控制器,请执行以下操作:

pagectrl.numberOfPages = 4;
pagectrl.currentPage = 0;

scrollView.pagingEnabled = YES;
scrollView.contentSize=CGSizeMake(320* pagectrl.numberOfPages, 500);
scrollView.showsVerticalScrollIndicator = NO;
scrollView.showsHorizontalScrollIndicator = YES;
scrollView.bouncesZoom = NO;
scrollView.decelerationRate = UIScrollViewDecelerationRateFast;
scrollView.scrollsToTop = NO;


scrollView.delegate = self;
search_url.delegate = self;
user.delegate = self;
password.delegate = self;
rpc_code.delegate = self;


// add pages

int page = 0;

CGRect frame = scrollView.frame;
pagesize = frame.size.width;
frame.origin.y = 0;
frame.origin.x = frame.size.width * page;
firstView.frame = frame;
[scrollView addSubview:firstView];

page ++;
frame.origin.x = frame.size.width * page;
locsubView.frame = frame;
[scrollView addSubview:locsubView];

page ++;
frame.origin.x = frame.size.width * page;
QRgensubView.frame = frame;
[scrollView addSubview:QRgensubView];

page ++;
frame.origin.x = frame.size.width * page;
scansubView.frame = frame;
[scrollView addSubview:scansubView];

page ++;
frame.origin.x = frame.size.width * page;
symbologysubView.frame = frame;
[scrollView addSubview:symbologysubView];


[self registerForKeyboardNotifications];

 CGRect fieldrect = CGRectMake(0,0,320, pagesize);

 [scrollView scrollRectToVisible:fieldrect animated:YES];  //goto 1st page

}
注意:您可能需要控制或管理用户滚动滚动视图的能力-您可以通过设置scrollview委托来实现这一点-下面的代码不符合您的确切要求,但我相信您可以解决其余问题

 - (void)scrollViewDidScroll:(UIScrollView *)sender
   {
   // We don't want a "feedback loop" between the UIPageControl and the scroll delegate  in

  // which a scroll event generated from the user hitting the page control triggers updates from

   // the delegate method. We use a boolean to disable the delegate logic when the page control is used.

   //  if (pageControlUsed)
   //  {
  // do nothing - the scroll was initiated from the page control, not the user dragging
  //       return;
  //   }

  // Switch the indicator when more than 50% of the previous/next page is visible

  int page = floor((scrollView.contentOffset.x - pagesize / 2) / pagesize) + 1;
  pagectrl.currentPage = page;



  // A possible optimization would be to unload the views+controllers which are no longer visible
 }

您是否考虑过使用UITabBar而不是分段控制?如果不允许使用tabbar,则必须根据选定的段手动切换视图,UISegmentedControl不提供任何类型的视图供您放置控件。这是其中一个视图,我有其他视图的tabbar,基本上除了段1,大部分段都是表视图,哪些是图片那么你可能必须隐藏并取消隐藏第一段的滚动视图、连接到其中一个数据源的tableview(每个段一个)和最后一段的MPMoviePlayer。你能给我看一个如何制作滚动视图图像的教程吗?请参阅这篇文章: