如果你想解雇一个弹出窗口 - 例如,从popover的contentViewController中的一个按钮你必须 -
dismissPopover:animated通知或委托方法时调用同时,UIViewController您可以访问模态视图控制器,父视图控制器,导航控制器,拆分视图控制器,标签栏控制器,搜索显示控制器,子视图控制器,呈现视图控制器和呈现的视图控制器.
从popover的contentViewController有更好的方法吗?
我有一个带有2个目标的Xcode 4项目,一个用于iPhone,另一个用于iPad.如果我点击iPad目标并尝试转到Build Settings Xcode 4崩溃:
遇到多个断言.第一个断言是:/SourceCache/IDEXcode3ProjectSupport/IDEXcode3ProjectSupport-269/Xcode3Sources/XcodeIDE/Frameworks/DevToolsBase/pbxcore/FileTypes/../PBXFileType.m:594中的ASSERTION FAILURE:文件名应该是非空字符串,但它是零
显然pbxproj文件在某处有一个错误的引用 - 可能是由于我被git强制执行的许多手动合并引起的.有没有办法清理pbxproj文件,以便它再次正常工作或告诉哪一行导致问题?我真的真的不喜欢必须从头创建项目.
我刚刚下载了Xcode 6 GM,我想看看我的应用程序如何与连接到模拟iPhone的Apple Watch一起使用.
如何在MacBook上模拟这个新设备?
令人惊讶的是这不是开箱即用的,因为这似乎是堆栈视图的一个重要用例.我有一个UITableViewCell子类,它将一个UIStackView添加到contentView.我正在向堆栈视图中添加标签,tableView(_cellForRowAtIndexPath:)并且tableview设置为使用动态行高,但它似乎不起作用,至少在Xcode 7.3中.我还认为隐藏在堆栈视图中的已安排的子视图是可动画的,但这似乎也被打破了.
有关如何使其正常工作的任何想法?
class StackCell : UITableViewCell {
enum VisualFormat: String {
case HorizontalStackViewFormat = "H:|[stackView]|"
case VerticalStackViewFormat = "V:|[stackView(>=44)]|"
}
var hasSetupConstraints = false
lazy var stackView : UIStackView! = {
let stack = UIStackView()
stack.axis = .Vertical
stack.distribution = .FillProportionally
stack.alignment = .Fill
stack.spacing = 3.0
stack.translatesAutoresizingMaskIntoConstraints = false
return stack
}()
override init(style: UITableViewCellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
contentView.addSubview(stackView)
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented") …Run Code Online (Sandbox Code Playgroud) 我有一个使用故事板的通用应用程序.有一个iPhone故事板和一个iPad故事板.但是,在界面构建器中,iPad故事板的视图控制器仍然适合iPhone.如何让iPad故事板显示iPad大小的视图控制器?
我意识到界面构建器中的视图控制器显示只是设计时间的眼睛,但拥有iPhone大小的VC使得很难正确布局UI.
使用Xcode,我希望在自动完成选项下面有我方法的Doxygen描述,如alloc:

在编写时,Xcode会显示自动完成以及文档中的注释.您可以在图像中看到,例如,alloc从选项中选择何时,它会显示"返回接收类的新实例",并且还链接到文档.
例如,我已经能够用Doxygen记录我的源代码
/**
This does nothing
*/
-(void) doNothing
{
// This does nothing
}
Run Code Online (Sandbox Code Playgroud)
我在Doxygen生成的HTML文件中得到了预期的结果,但我不知道如何使这些结果在Xcode中显示为建议.
我正在继承UIView并覆盖drawRect方法.我注意到只在视图首次加载时才调用视图的drawrect.之后再也不会再打电话了.如何确保在方向更改后调用它?我已经尝试在旋转之前和之后调用setNeedsDisplay,但是没有这样做.
我需要转换UIColor为NSString颜色名称.
我试过了:
NSString *colorString = NSStringFromClass([[UIColor redColor] class]);
Run Code Online (Sandbox Code Playgroud)
但colorString没有给@"redColor".
通常我发现几乎所有我最重要的iPhone开发测试用例都围绕UI测试而不是业务逻辑或数据测试.我对XCode环境中的自动UI测试不是很熟悉.有人能指点我一本好的教程或书吗?
更新
这个问题是几年前写的,UI测试从那时起已经走了很长一段路.使用UI自动化仍然是一种选择,但KIF框架现在是一个更好的功能测试解决方案,IMO.
来自KIF的github页面:
KIF代表Keep It Functional,是一个iOS集成测试框架.通过利用操作系统为视障人士提供的辅助功能属性,它可以轻松实现iOS应用程序的自动化.
KIF使用标准XCTest测试目标构建并执行测试.测试在主线程中同步进行(运行运行循环以强制通过时间),允许更复杂的逻辑和组合.这也允许KIF利用Xcode 5 Test Navigator,命令行构建工具和Bot测试报告.
我正在添加CAGradientLayer一个视图.当视图自动调整大小时(例如旋转后),不会调整渐变图层的大小.可以将渐变设置为与视图相同的自动调整大小吗?另请注意,我在视图中使用自动布局约束.
这是我正在做的事情:
CAGradientLayer *gradientLayer = [CAGradientLayer layer];
gradientLayer.frame = CGRectMake(0.0, 0.0, frame.size.width, frame.size.height);
gradientLayer.colors = [NSArray arrayWithObjects:
(id)[[UIColor colorWithRed:255.0/255.0f green:255.0/255.0f blue:255.0/255.0f alpha:1.0f] CGColor],
(id)[[UIColor colorWithRed:233.0/255.0f green:233.0/255.0f blue:233.0/255.0f alpha:1.0f] CGColor], nil];
[self.layer insertSublayer:gradientLayer atIndex:0];
Run Code Online (Sandbox Code Playgroud) ios ×6
xcode ×6
cocoa-touch ×4
iphone ×4
objective-c ×2
apple-watch ×1
autocomplete ×1
autolayout ×1
cocoa ×1
doxygen ×1
drawrect ×1
storyboard ×1
uistackview ×1
uitableview ×1
uiview ×1
watchkit ×1
xcode4 ×1