在故事板中,我可以设置从按钮到a的segue,UIViewController并使其以模态显示.这很好用.然而,当我在故事板从改变类UIViewController来MFMailComposeViewController,它不会在所有的工作.出现的只是顶部的导航栏,显示屏的其余部分用黑色填充.我采取了错误的做法吗?
cocoa-touch objective-c ios5 uistoryboard mfmailcomposeviewcontroller
我很久以前制作了一款iPhone应用程序,现在我正在考虑将其打造成通用应用程序,但我想知道是否可以使用Storyboard制作iPad版本,因此对于iPhone来说它会加载一个MainWindow.xib和iPad它会加载一个MainStoryboard文件.这可能吗?
这似乎是一个非常基本的问题,但我找不到答案.
当我向故事板中的场景添加元素,或者拖动它们或调整它们的大小时,Xcode会自动添加和删除约束来描述它们的大小和位置.
现在,一旦Xcode中创造了一个特定类型的约束-说,一个高度约束-我知道,我可以修改它的属性- Relation,Constant并且Priority在高度约束的情况下-通过属性检查器.我无法弄清楚的是如何手动添加或删除给定类型的约束,而不是依靠Xcode的魔力为我这样做.

例如,在我当前的场景中,我有一个包含工具栏和表视图的ViewController.现在,我知道我想用来形容这两项意见的垂直位置和大小到底是什么制约因素:
这样,表格视图的高度将根据屏幕大小进行适当调整.
然而,Xcode凭借其智慧决定这不是我想要的,而是对我造成了以下限制(无论我多少随意拖动周围的东西并祈祷它似乎都不想改变):
因此,当我尝试在较小的屏幕或容器中查看我的ViewController时,一切都会出错:

当我确切地知道我需要什么是令人沮丧的时候,无法手动设置我自己的约束.如何明确删除Xcode自动创建的废话约束并手动添加我自己的约束?
interface-builder ios xcode4 uistoryboard nslayoutconstraint
我的项目需要在2个不同的全局色调值之间切换.我该如何以编程方式执行此操作?
我正在以push segue编程方式调用如下
UIStoryboard *mainStoryBoard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
UIViewController *vc = [mainStoryBoard instantiateViewControllerWithIdentifier:@"addToCartViewContollerForItem"];
[self.navigationController pushViewController: vc animated:YES];
Run Code Online (Sandbox Code Playgroud)
但我的问题是我想将这个segue的一些信息发送到目标viewcontroller.但这种方法- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender根本没有被解雇.
这就是准备方法的方法
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
// Get the new view controller using [segue destinationViewController].
// Pass the selected object to the new view controller.
NSLog(@"segue from deals screen");
//addToCartViewContollerForItem
if([[segue identifier] isEqualToString:@"addToCartSegue"]){
NSIndexPath *selectedRow = [[self tableView] indexPathForSelectedRow];
Item *currentItem = [[Item alloc]init];
currentItem = [itemList objectAtIndex:[selectedRow row]];
RESTAddToCartViewController *vc = [segue destinationViewController];
[vc …Run Code Online (Sandbox Code Playgroud) 在故事板上的UIViewController中,我有一个UITableView,其大小通常在一个部分中有两行,没有页眉或页脚,即高度为88.0f.在某些情况下,我想添加第三行.所以在viewWillAppear:animated:(和其他逻辑位置)我将帧设置为44.0f逻辑像素更高:
CGRect f = self.tableView.frame;
self.tableView.frame = CGRectMake(f.origin.x, f.origin.y, f.size.width, f.size.height + 44.0f);
NSLog(@"%@",NSStringFromCGRect(self.tableView.frame));
Run Code Online (Sandbox Code Playgroud)
没有争议; 相当标准的调整大小代码,然而......它不起作用!tableView高度不会在视觉上改变.NSLog语句报告我期望的高度(132.0f).这是因为我正在使用故事板吗?我不确定为什么这不起作用.
我正在维护一个有趣的应用程序(目标iOS6).在修复了静态代码分析器发现的所有现有编译器警告和许多其他内容后,我发现没有警告要修复.已添加-Wall和-Werror,还不太热衷于添加其他人.
然后我发现了一些有趣的东西,到目前为止谷歌或StackOverflow似乎完全不知道!
Xcode5项目"Build Settings"有一个名为"Interface Builder Storyboard Compiler - Options"的小节.四个案例是可以理解的:
问题:我可以在"其他故事板编译器标志"中添加什么内容?我在哪里可以找到更多信息?
我有一个表视图控制器,并且单击一个单元格可以根据单元格中的数据类型触发许多不同类型的推送段之一.在tableView:didSelectRowAtIndexPath中确定正确segue的标识符,然后使用self.performSegueWithIdentifier触发segue:
对于其中一个segues,我想将同一个视图控制器的另一个实例推送到导航堆栈.这是否可以在不必将相同类型的新视图控制器对象拖到故事板上?到目前为止,如果我从表格单元格Ctrl + Drag到视图控制器,我只能将segue连接到同一个视图控制器.这不是我想要的.
我想知道哪个地方最适合从故事板放置IBOutlets:
a)在头文件(.h)中
b)在.m文件中创建的类扩展中
谢谢
问候
我已经在Visual Studio中使用Xamarin一段时间了,但我想我会在我的Mac上给Xamarin Studio.
一切顺利,直到我尝试在故事板上创建一个segue.
我有两个视图控制器,一个是主控制器.我添加一个按钮,然后CTRL从按钮拖动到第二个视图控制器.在VS中这很好用然而在Xamarin Studio中,当我释放按钮时,segue菜单弹出并立即关闭,不允许我选择所需的选项.
有没有人遇到过这个?如果是这样,你是如何解决的?
xamarin.ios uistoryboard uistoryboardsegue xamarin xamarin-studio
uistoryboard ×10
ios ×7
objective-c ×4
iphone ×3
xcode ×3
cocoa-touch ×1
iboutlet ×1
ibtool ×1
ios5 ×1
ipad ×1
mfmailcomposeviewcontroller ×1
segue ×1
storyboard ×1
tint ×1
uitableview ×1
universal ×1
xamarin ×1
xamarin.ios ×1
xcode4 ×1
xcode6 ×1
xib ×1