我有一个View Controller,我在故事板中添加了一个圆形的矩形按钮.该应用程序运行良好,我还使用故事板将按钮连接到segue.我正在尝试为此按钮设置自定义图像,以便打开和关闭状态.如何访问此按钮并设置其属性?(在这种情况下,开关图像)
我正在尝试创建和设计一个UIView使用故事板,但以UIActionSheet编程方式包含它.这基本上是为了避免使用带有像素的CoreGraphics定位功能
在旧的xcode中,我记得可以在没有任何控制器的情况下将UIView拖到笔尖上.
该视图显然必须连接到类,因此它将具有IBOutlet,但不会被添加到 self.view
让我觉得这应该是可能的一件事是,如果你将UIView拖入故事板中的控制器黑条,它会像这样弹出到位:

但它没有在屏幕上显示.这个功能是什么?我可以以某种方式打开这个视图并设计一下吗?
在UIView的中心有一个名为nicknameLabel的UILabel,并将在nicknameLabel后附加一个性别图像.
但是当nicknameLabel有很多文本时,它将超出UIView的范围.

那么,如何限制UILabel的最大宽度?
顺便说一句:我使用的是故事板.谢谢.
在我的故事板中,我有一个视图作为启动画面.在这个视图中,我已经有一个像"打开应用程序"的按钮,它打开菜单视图,带有模态segue.但是我也希望屏幕自动执行segue,就像2秒后出现视图一样.
一些代码在这里:
- (void)viewDidAppear:(BOOL)animated
{
[self performSegueWithIdentifier:@"splashScreenSegue" sender:self];
}
Run Code Online (Sandbox Code Playgroud)
如您所见,我已经使用performSegueWithIdentifier但它立即执行.有没有办法让它延迟?
提前致谢.
我试图以这种方式从app delegate .m加载UIStoryboard:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
UIStoryboard *storybord = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone" bundle:[NSBundle mainBundle]];
UIViewController *vc =[storybord instantiateInitialViewController];
[self.window addSubview:vc.view];
return YES;
}
Run Code Online (Sandbox Code Playgroud)
这段代码有什么问题?任何的想法?
我从故事板访问视图的大小.下面是我从storyboard访问frame属性的代码.
SmallView *smallView = [self.storyboard instantiateViewControllerWithIdentifier:@"SmallView"];
CGRect frame = smallView.view.frame;
self.containerView.frame = frame;
Run Code Online (Sandbox Code Playgroud)
在故事板中,视图的帧大小为(200,400).但是,当我从代码中访问帧大小时,它总是给出(320,460).为什么?在上面的代码中,我从故事板中得到了一个小视图对象,所以应该显示的故事板中视图框架的价值是什么,但它没有显示.总是显示(320,460).
为了快速调试,您可以查看以下源代码.
目前我们在所有项目中使用Storyboard而不是xib.但在我看来,如果你想制作可以在不同视图控制器中重复使用的可重用视图(自定义视图或Tableview单元格),则必须使用xib文件,因为在故事板中我们无法单独制作单个视图对象.
请注意,我正在使用Storyboard进行整个应用程序的工作流程(带有segues的视图控制器).仅对于可重用的tableview单元格,我使用的是XIB.
我搜索了很多苹果文档以及WWDC视频,但是我找不到Apple开发人员的任何具体证据,这些证据表明XIB将会存在,或者您应该使用XIB进行自定义视图.
如果你们中的任何人有任何类型的链接,我们仍然可以使用XIB,而不用担心苹果会删除它,我真的很感激.
在本地化我的故事板时,我在我的字符串文件中获得了如下所示的条目:
/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "vHF-LZ-23i"; */
"vHF-LZ-23i.title" = "Text Cell";
反正有没有将虚拟文本或其他字符串排除在故事板本地化字符串文件中?
我正在尝试在您的具有故事板的项目之一中添加对 SPM 的支持。
目前我们抓住了它,UIStoryboard(name: String, bundle: String?)但这似乎不适用于 SPM,因为实际上没有捆绑。即使打印所有捆绑包也不会显示我们包裹的捆绑包。
我们可以通过任何方式支持故事板还是 SPM 只是文件?
尝试:
UIStoryboard(name: "GiftCards", bundle: Bundle(for: self))
UIStoryboard(name: "GiftCards", bundle: Bundle(for: type(of: self)))
UIStoryboard(name: "GiftCards", bundle: Bundle(identifier: "com.x.x"))
Run Code Online (Sandbox Code Playgroud) 感谢AD Progress出色的研究和下面的回答,我终于弄清楚了IBSegueActions是怎么回事。
如果您将rootViewControllersegue(或任何其他类型,大概)连接到IBSegueActionin 中UINavigationContoller,但在那里找不到它,它将查看响应者链上的下一个视图控制器,直到找到IBSegueAction具有正确签名的 。如果它没有找到一个,它会叫init(with coder: NSCoder)的rootViewController。如果只是在某处记录了这一点……
笔记
注意:这是一个说明问题的最小示例 - 如何在UINavigationController使用IBSegueAction. 我知道这不是您通常呈现详细视图的方式。
注 2:我知道如何将 segues 与prepare(for segue: UIStoryboardSegue). 我想知道如何初始化一个视图控制器时,如何通过非可选参数包含在一个模式UINavigationController使用IBSegueAction
注 3:我知道如何将 anIBSegueAction用于未包含在 a 中的视图控制器UINavigationController(例如推送导航堆栈)
原始问题
我有以下设置…
中的人员列表UITableViewController。轻敲 aPersonCell呈现 aPersonViewController内 aUINavigationController
为了避免在 中有一个可选Person的PersonViewController,我试图使用IBSegueActions。
我首先想到的是,我需要一个用于之间的SEGUEPeopleViewController和 …
uistoryboard ×10
ios ×8
objective-c ×3
iphone ×2
xcode ×2
bundle ×1
ios5 ×1
ios6 ×1
localization ×1
macos ×1
storyboard ×1
swift ×1
uibutton ×1
uilabel ×1