Tag: uistoryboard

如何从一个故事板切换到另一个故事板

球队, 我有两个故事板。 一个用于身份validation另一个用于我的应用程序仪表板 对于authentication情节提要初始化屏幕是loginScreen。 login成功后,我正在加载仪表板故事板。 对于仪表板故事板,初始屏幕是MainViewController。 我在这里实现了从DashboardStoryboard中注销。 所以现在我想切换回我的身份validation故事板。 这里回到loginScreen。 但是我没有办法实现。 有没有办法让我做得更好? -(void)logout{ UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Authentication" bundle: nil]; LoginViewScreenController *oginViewScreenController = [storyboard instantiateViewControllerWithIdentifier:@"LoginViewScreenController"]; [self.navigationController pushViewController: loginViewScreenController animated:NO]; } 您的反馈非常感谢。

故事板亲子关系不代表“superview”返回的内容

集合视图单元格按以下方式分类: 我在集合视图中有这个布局。 在创build每个button时,我会调用以下代码: [cell.imageButton addTarget:self action:@selector(galleryImageButtonClicked:event:) forControlEvents:UIControlEventTouchUpOutside]; 哪个叫这个: -(void)galleryImageButtonClicked:(id)sender event:(id)event { if ([sender isKindOfClass:[UIButton class]]) { NSLog(@"Yay, it's a UIButton."); SCCollectionViewCell* parentCellOfThisButton = (SCCollectionViewCell*)[sender superview]; if ([parentCellOfThisButton isKindOfClass:[SCCollectionViewCell class]]) { UICollectionView *parentCollectionView = (UICollectionView* )[parentCellOfThisButton superview]; if ([parentCollectionView isKindOfClass:[UICollectionView class]]) { NSIndexPath* indexPathOfCell = [parentCollectionView indexPathForCell:parentCellOfThisButton]; } else { NSLog(@"Not a UIcollectionClass"); } } else […]

如果基于前一个视图控制器的声明

这是我到目前为止: – (void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath]; if (preivousViewController isEqualToString:@"…") { if ([self.filteredArray count] == 0) self.person = self.users[indexPath.row]; else self.person = self.filteredArray[indexPath.row]; self.mugshot = cell.imageView.image; [self performSegueWithIdentifier:@"SelectPerson" sender:self]; } else { if ([self.filteredArray count] == 0) self.person = self.users[indexPath.row]; else self.person = self.filteredArray[indexPath.row]; self.mugshot = cell.imageView.image; [self performSegueWithIdentifier:@"selectVisitee" […]

MKMapView显示DetailView – 如何使一个segue

我有一个MapView,注释来自一个属性列表。 现在我想在详细视图中看到更多的数据。 不幸的是,我不怎么编程Segue,以便显示数据。 我希望你明白我的意思。 我的英语不太好…我知道在prepareforSegue方法中缺less一些。 我正在使用故事板。 提前感谢您的帮助…问候 #import "MapViewNewController.h" #import "MapViewAnnotation.h" #import "SetCardController.h" @interface MapViewNewController () @end @implementation MapViewNewController @synthesize recipesDictionary = _recipesDictionary; @synthesize mapView; @synthesize locationManager; – (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; if (self) { // Custom initialization } return self; } – (void)viewDidLoad { [super viewDidLoad]; self.mapView.delegate = […]

UIButton标题和图像的不同alignment方式

您好,我正在创build显示图像和标题的UIButton在同一时间。 我想标题和图像都居中,button要在图像上方。 问题是由于从button的string的本地化,string长度正在改变,从UIStoryboard结合边缘插入alignment不工作,因为我希望它的工作。 有人可以帮助我,并指出我在正确的方向吗?

使用UIStoryBoard根据自定义URLscheme处理屏幕

我有两个名为的应用程序, SendDataApp ReceiveDataApp 这是我的ReceiveDataApp的 StoryBoard 我可以发送数据到我的接收应用程序,并可以通过以下方法处理它, – (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString *,id> *)options; 但是,这里的问题是我想显示我从SendDataApp 收到ReceivedDataApp的 DetailViewController的数据我想用下面的方法来处理它, Appdelegate.m – (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString *,id> *)options { UIStoryboard *storyBoard = [UIStoryboard storyboardWithName:@"Main" bundle:nil]; ViewController *viewController = (ViewController *)[storyBoard instantiateViewControllerWithIdentifier:@"View"]; [viewController receivedURL:url]; return YES; } ViewController.m – (void)receivedURL:(NSURL *)url { [self performSegueWithIdentifier:@"detailIdentifier" sender:url]; } – (void)prepareForSegue:(UIStoryboardSegue […]

使用故事板在UIViewController中初始化自定义的UIView

我有一个自定义的UIViewcontroller,并想初始化和分配一个自定义的UIView,我分配给一个IBOutlet。 我正在使用故事板。 任何人都可以给我提示在哪里调用自定义UIView的指定初始值设定项? **MyCustomUIView.h** @interface MyCustomUIView : UIView @end **MyCustomUIView.m** @implementation MyCustomUIView – (id)initWithNumberOfHeaderRows:(NSUInteger)headerRowCount numberOfHeaderColumns:(NSUInteger)headerColumnCount frame:(CGRect)frame { self = [super initWithFrame:frame]; if (self) { } return self; } @end **MyUIViewController.h** @interface MyUIViewController : UIViewController @property (weak, nonatomic) IBOutlet MyCustomUIView *myCustomUIView; // I wanna use this Outlet @end **MyUIViewController.m** @implementation MyUIViewController @end 这是使用的github源的抽象版本: https : //github.com/mutualmobile/MMSpreadsheetView/blob/master/MMSpreadsheetView/MMSpreadsheetView.m

iOS滚动查看允许滚动以前的内容

我正在努力优化我的应用程序的景观和较小的屏幕。 我主要使用滚动视图来实现这一点。 在我的一个观点中,我有一个容器视图。 当我在故事板中的设备之间切换时,此容器视图看起来很完美。 容器视图被映射到一个视图控制器,该视图控制器具有顶部,底部,前导和尾随空间设置为超级视图0的滚动视图。所以它应该填充容器。 实际的视图控制器被设置为Freeform Simulated Size,宽度为263,高度为190(滚动视图内的内容的确切大小)。 在滚动视图里面,我只有标签显示信息。 这一切似乎工作正常。 在较小的设备或横向上,您可以滚动查看内容并查看所有标签。 唯一的问题是您可以滚动浏览内容的所有设备和屏幕大小。 在X和Y轴。 奇怪的是,在横轴上,容器视图的宽度被特别设置为263.我使用滚动视图的唯一原因是高度。 宽度没有问题,即使在较小的屏幕上也是如此。 但它仍然允许用户水平滚动。 对于一个横向的iPhone 4s的更具体的例子,容器视图是263宽度和90高度。 但它自己的内容是宽度263和高度190。 所以我希望用户能够向下滚动查看剩下的100个内容。 但是,目前它允许用户滚动横向以及向下滚动滚动内容的结尾。 我怎样才能解决这个问题,使用户不能滚动浏览内容? 请让我知道,如果你需要任何额外的细节或信息。 解释故事板细节有时可能有点棘手,所以我很乐意提供任何额外的细节,使其更加清晰。

iOS选项卡栏控制器包含所有选项卡内相同的表视图,但不同的筛选数据

解决:我想我知道如何做到这一点。 我为每个选项卡的每个视图控制器添加了标签。 然后在视图控制器的viewDidLoad方法,我可以添加一个开关,基于哪个选项卡的标签被选中: self.tabBarController.tabBar.selectedItem.tag 问题: 我对iOS开发很新颖,需要一些反馈意见,这是这种情况: 我正在使用故事板。 我们有一个标签栏控制器内的导航控制器。 选项卡栏控制器在所有选项卡内包含相同types的表视图,但数据的过滤方式不同。 例如,标签1将显示所有types的红色水果,标签2将显示所有种类的黄色水果等。 现在,因为我使用故事板,是否需要创build2个不同的主视图控制器分支从每个选项卡的标签栏控制器? 或者我可以使用相同的主视图控制器的两个选项卡? 有没有什么像segue上的标识符,我可以使用指定哪个选项卡被选中? 从tabbarcontroller到导航控制器,我找不到它。 当select一个标签,有没有像“prepareforsegue”,我可以预设目的地viewcontrollerfilter的方法? 类似于我们在基于导航的应用程序中所具有的东西? 这样我就不必为每个选项卡创build一个不同的视图控制器。 谢谢您的帮助!

放松继续不被触发

我有一个故事板,有一个起始视图控制器,呈现其他模式视图控制器。 说视图控制器A是startingViewController,而视图控制器B是模态呈现的视图控制器。 我怎样才能从B的ViewController A(不只是从一个位于ViewController B上的button)触发从B回退到A? 该button的工作来执行unwind segue,但是当我尝试以编程方式使用它时 [self performSegueWithIdentifier:@"ReturnToStart" sender:self] 发生错误: Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Receiver (<StartViewController: 0x1ed4b9b0>) has no segue with identifier 'ReturnToStart'' 我不明白的是,当我按下模式视图控制器上的一个button时,unwind segue工作正常,但是当我尝试从另一个ViewController触发它时找不到segue(标识符在故事板中是正确的)。 有没有办法从我的startingViewController访问所有的segues或是我的结构从根本上错误?