我下载了新的Xcode,在Interface Builder中,我遇到了很多问题,例如:
固定宽度约束可能导致剪辑
它看起来像这样:
我确实有几种语言的本地化,我理解警告,在另一种语言中标签的大小可能会改变,但我的应用程序没有这个问题.我昨天在Xcode 8中运行并测试了它,很好.我不想花费数小时的时间来添加无意义的新约束.
有建议的解决方案
我希望我的表格列表具有类似iOS 8中的可滑动菜单(首先在iOS 7中引入).
我已经找到了Ray Wenderlich指南,该指南很清楚如何做,但它是在一年零四个月前编写的,代码是在Objective-C中.
iOS 8或即将推出的iOS 9最终是否在Apple的SDK中包含此功能?我知道他们在几年前内置了"轻扫显示删除功能".我不想浪费我的时间来实现修补代码来模仿iOS 8邮件功能,如果Apple的新iOS将以一个整齐的包裹交给我.
我已经阅读了有关segues的其他帖子但没有解决我的问题.
简单地说,我ViewController的订单就像一本书.我希望向后过渡(例如:从第9页到第8页)始终从左到右呈现(滑过).我希望从右到左呈现前向过渡(从第9页到第10页).
是的,如果您逐页翻页,我的导航控制器后退按钮(左上角)会显示如下内容.但是,如果从索引中跳转,则导航控制器上的后退功能会将您带回索引.
我的目标是,如果用户从索引跳到第9页(例如),然后向右滑动,它将向右滑动页面并显示第8页.一旦在第8页,如果他们向左轻弹页面将向左轻弹,他们将再次出现在第9页.
ViewController默认情况下,我所有人都是从右到左滑动.
示例:将其想象成一本书,如果我使用索引跳到第4章,然后向右滑动并从堆栈中弹出一个视图,我将回到索引.但是,如果您使用第394章第4章并向右滑动,则不希望返回索引!您想要转到第393页第3章的最后一页!因此导航堆栈对我没有帮助.
结束例子
详细信息:1.我在按钮上使用新的Xcode"Show"在ViewControllers之间切换.
我正在使用导航控制器,左上角的"后退"按钮功能.这使用导航堆栈并且工作正常.
但是我在底部有自己的自定义导航栏(后退按钮,主页按钮,索引按钮,前进按钮)和手势.这些是我想要的书籍功能.
快速编码.
使用Xcode 6.3
我读过有动画代码.我已经阅读了可以使用的深度程序转换.只是选择我想要从左边呈现的segue并轻松地反转动画,这似乎很疯狂.
谢谢!
尝试记录:
I tried DCDC's code:
UIView.transitionWithView(self.window!, duration: 0.5, options:.TransitionFlipFromLeft, animations: { () -> Void in
self.window!.rootViewController = mainVC
}, completion:nil)
Run Code Online (Sandbox Code Playgroud)
当我将DCDC的代码插入到IBAction我的后滑动中时,会返回此错误

我知道我可以使用以下四个角来围绕:
myBtn.layer.cornerRadius = 8
myBtn.layer.masksToBounds = true
Run Code Online (Sandbox Code Playgroud)
由于我只想围绕第二轮,我做了一些研究,发现了这个:
extension UIView {
func roundCorners(corners:UIRectCorner, radius: CGFloat) {
let path = UIBezierPath(roundedRect: self.bounds, byRoundingCorners: corners, cornerRadii: CGSize(width: radius, height: radius))
let mask = CAShapeLayer()
mask.path = path.CGPath
self.layer.mask = mask
}
}
Run Code Online (Sandbox Code Playgroud)
这被称为:
view.roundCorners([.TopLeft , .TopRight], radius: 10)
Run Code Online (Sandbox Code Playgroud)
然而,这对于UIButton不起作用.当我将扩展名切换为类型UIButton并将其传递给按钮时,输出如下所示:
问题是,我如何使其适应UIButton?
我读过一吨的主题辩论,如果3D触控可用最新的Xcode 7个版本.大家一致认为这是可能的,但只能使用3D手机或触控板.我的问题是,如果使用新的Xcode和Simulator,是否改变了?
我正在运行Sierra的2012 MacBook:
我可以看到一些力触摸选项:
但我可以以某种方式启用这些选项,以便我可以开始测试我的3D Touch代码吗?
我有一个按钮,调用animateWithDuration代码,淡出图像,淡化文本和新的bg颜色,然后重置为正常.动画需要几秒钟才能完成并且效果很好.
然而!有一个问题:
有时在动画结束前会再次按下此按钮.当发生这种情况时,我希望当前的动画停止并重新开始.
研究解决方案不起作用
根据我的解读,解决方案应该很简单,只需导入QuartzCore并添加:
button.layer.removeAllAnimations()
Run Code Online (Sandbox Code Playgroud)
这确实会移除动画但新/秒动画完全搞砸了.应该隐藏的图像不是,文本永远不会显示,颜色过渡都是错误的.发生了什么!?!
//Animate Finished feedback in footer bar
func animateFinished(textToDisplay: String, footerBtn: UIButton, footerImg: UIImageView) {
//Should cancel any current animation
footerBtn.layer.removeAllAnimations()
footerBtn.alpha = 0
footerBtn.setTitle(textToDisplay, forState: UIControlState.Normal)
footerBtn.titleLabel!.font = UIFont(name: "HelveticaNeue-Regular", size: 18)
footerBtn.setTitleColor(UIColor(red: 255/255.0, green: 255/255.0, blue: 255/255.0, alpha: 1.0), forState: UIControlState.Normal)
footerBtn.backgroundColor = UIColor(red: 217/255.0, green: 217/255.0, blue: 217/255.0, alpha: 1.0)
UIView.animateWithDuration(0.5, delay: 0.0, options: nil, animations: {
footerImg.alpha = 0.01 //Img fades out
footerBtn.backgroundColor = UIColor(red: 46/255.0, green: 163/255.0, blue: 00/255.0, …Run Code Online (Sandbox Code Playgroud) 我正在尝试我的第一个轻量级CoreData迁移.我阅读了两本关于轻量级迁移的指南.两者都将代码添加到CoreDataStack类,修改NSPersistentStoreCoordinator等变量并添加:
let mOptions = [NSMigratePersistentStoresAutomaticallyOption: true,
NSInferMappingModelAutomaticallyOption: true]
Run Code Online (Sandbox Code Playgroud)
我的问题是我有一个功能完善的应用程序使用CoreData,但我没有那个类或类似的东西.我的问题是,为什么这些项目假设我有这个课程,我可以在没有它的情况下实现轻量级迁移吗?如果没有,我该如何添加?
更多信息,如果需要回答
九月份,我使用CoreData构建了一个应用程序.这是我第一次使用CoreData,我遵循了Ray Wenderlich指南.它工作得很好,我完成了应用程序,现在它在商店里.现在我想开始对应用程序进行一些更改,其中涉及新的CoreData属性和一些新实体.我读过我需要设置一个新的模型版本.
我找到了Ray Wenderlich指南,但它使用了我没有的CoreDataStack.swift文件:
令人沮丧的是,我使用他们的指南设置了CoreData ,但它没有包含该文件!然后我去做迁移,他们认为我有它.
我去寻找另一个轻量级的迁移方法,找到了这个替代方案,它也引用了我从未在我的CoreData中构建的代码:
lazy var persistentStoreCoordinator: NSPersistentStoreCoordinator? = {
// The persistent store coordinator for the application. This implementation creates and return a coordinator, having added the store for the application to it. This property is optional since there are legitimate error conditions that could cause the creation of the store to fail.
// Create the coordinator …Run Code Online (Sandbox Code Playgroud) 我有一个带有自定义单元格的 UITableView。通常当用户点击单元格时,会触发此功能:
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
//Segue to another view
}
Run Code Online (Sandbox Code Playgroud)
如果在该视图中他们将单元标记为已完成,则当他们返回代码时将添加标准检查附件。
当单元格未完成时,我想要一个可以点击的空支票(我知道我可以添加自定义图像附件),点击允许用户跳过转场并快速将单元格标记为已完成。但我似乎无法让两者都工作:
我已经尝试过accessoryButtonTappedForRowWithIndexPath,但它似乎没有被调用。
func tableView(tableView: UITableView, accessoryButtonTappedForRowWithIndexPath indexPath: NSIndexPath) {
//Shortcut code to change the cell to "finished"
}
Run Code Online (Sandbox Code Playgroud)
是否可以单击主体触发一组代码,单击附件视图触发另一组代码?如果是这样,怎么办?
当我滑动UITableView单元格时,会调用以下代码:
func tableView(_ tableView: UITableView, editActionsForRowAt indexPath: IndexPath) -> [UITableViewRowAction]? {
//Problem code
let delBut = UITableViewRowAction(style: UITableViewRowActionStyle(), title: delete_InLocal) { action, index in
//Setup
Run Code Online (Sandbox Code Playgroud)
现在我已经开始迁移到Swift 3,我在UITableViewRowActionStyle()上收到一条错误消息:
调用中缺少参数'rawValue'的参数
任何人都知道Swift 3在这种情况下的语法是什么?
使用Xcode,我正在尝试将我的存档上传到App Store,我得到:
错误ITMS-90163:"无效的代码签名权利.您的应用程序包签名中的权利与供应配置文件中包含的权利不匹配.该捆绑包含一个未包含在供应配置文件'aps-environment'中的密钥'Payload/App Name.app/App Name'."
然后下面给出了更多细节,确定:
该捆绑包含一个未包含在配置文件中的密钥:Payload/App Name.app/App Name'中的'com.apple.security.application-groups'."
在这个版本中,我添加了"今日通知小部件",iMessage贴纸和3D Touch支持.我认为通知数据共享(app-group)与我的问题有关.有谁知道如何解决它?
ios ×9
swift ×6
uitableview ×3
code-signing ×1
core-data ×1
custom-cell ×1
ios9 ×1
localization ×1
segue ×1
swift3 ×1
uibutton ×1
xcode ×1
xcode6 ×1
xcode8 ×1
xcode9-beta ×1