小编Dav*_*e G的帖子

Xcode 9 - "固定宽度约束可能导致剪辑"和其他本地化警告

我下载了新的Xcode,在Interface Builder中,我遇到了很多问题,例如:

固定宽度约束可能导致剪辑

它看起来像这样:

在此输入图像描述

我确实有几种语言的本地化,我理解警告,在另一种语言中标签的大小可能会改变,但我的应用程序没有这个问题.我昨天在Xcode 8中运行并测试了它,很好.我不想花费数小时的时间来添加无意义的新约束.

有建议的解决方案

localization interface-builder ios xcode9-beta

136
推荐指数
6
解决办法
5万
查看次数

iOS 9中可滑动的表格视图单元格

我希望我的表格列表具有类似iOS 8中的可滑动菜单(首先在iOS 7中引入).

表视图单元格操作按钮的屏幕截图

我已经找到了Ray Wenderlich指南,该指南很清楚如何做,但它是在一年零四个月前编写的,代码是在Objective-C中.

iOS 8或即将推出的iOS 9最终是否在Apple的SDK中包含此功能?我知道他们在几年前内置了"轻扫显示删除功能".我不想浪费我的时间来实现修补代码来模仿iOS 8邮件功能,如果Apple的新iOS将以一个整齐的包裹交给我.

uitableview custom-cell tableviewcell swift ios9

80
推荐指数
5
解决办法
7万
查看次数

iOS Segue - 从左到右 -

我已经阅读了有关segues的其他帖子但没有解决我的问题.

简单地说,我ViewController的订单就像一本书.我希望向后过渡(例如:从第9页到第8页)始终从左到右呈现(滑过).我希望从右到左呈现前向过渡(从第9页到第10页).

是的,如果您逐页翻页,我的导航控制器后退按钮(左上角)会显示如下内容.但是,如果从索引中跳转,则导航控制器上的后退功能会将您带回索引.

我的目标是,如果用户从索引跳到第9页(例如),然后向右滑动,它将向右滑动页面并显示第8页.一旦在第8页,如果他们向左轻弹页面将向左轻弹,他们将再次出现在第9页.

ViewController默认情况下,我所有人都是从右到左滑动.

示例:将其想象成一本书,如果我使用索引跳到第4章,然后向右滑动并从堆栈中弹出一个视图,我将回到索引.但是,如果您使用第394章第4章并向右滑动,则不希望返回索引!您想要转到第393页第3章的最后一页!因此导航堆栈对我没有帮助.

结束例子

详细信息:1.我在按钮上使用新的Xcode"Show"在ViewControllers之间切换.

  1. 我正在使用导航控制器,左上角的"后退"按钮功能.这使用导航堆栈并且工作正常.

  2. 但是我在底部有自己的自定义导航栏(后退按钮,主页按钮,索引按钮,前进按钮)和手势.这些是我想要的书籍功能.

  3. 快速编码.

  4. 使用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我的后滑动中时,会返回此错误

当我将DCDC的代码插入IBAction进行反刷时,会返回此错误

uiviewanimation ios segue swift xcode6

40
推荐指数
3
解决办法
5万
查看次数

Swift中UIButton的圆顶角

我知道我可以使用以下四个角来围绕:

 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?

rounded-corners uibutton ios swift

30
推荐指数
6
解决办法
3万
查看次数

在Xcode 8和Simulator 10上进行3D Touch

我读过一吨的主题辩论,如果3D触控可用最新的Xcode 7个版本.大家一致认为这是可能的,但只能使用3D手机或触控板.我的问题是,如果使用新的Xcode和Simulator,是否改变了?

我正在运行Sierra的2012 MacBook:

在此输入图像描述

我可以看到一些力触摸选项:

在此输入图像描述

但我可以以某种方式启用这些选项,以便我可以开始测试我的3D Touch代码吗?

ios ios-simulator xcode8

18
推荐指数
2
解决办法
7384
查看次数

连续动画调用不起作用

我有一个按钮,调用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)

ios animatewithduration swift

6
推荐指数
1
解决办法
2224
查看次数

如何在Swift中进行轻量级CoreData迁移

我正在尝试我的第一个轻量级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 ,但它没有包含该文件!然后我去做迁移,他们认为我有它.

我去寻找另一个轻量级的迁移方法,找到了这个替代方案,它也引用了我从未在我的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)

core-data core-data-migration ios swift

6
推荐指数
1
解决办法
2229
查看次数

点击手机配件

我有一个带有自定义单元格的 UITableView。通常当用户点击单元格时,会触发此功能:

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { 
     //Segue to another view
}
Run Code Online (Sandbox Code Playgroud)

如果在该视图中他们将单元标记为已完成,则当他们返回代码时将添加标准检查附件。

当单元格未完成时,我想要一个可以点击的空支票(我知道我可以添加自定义图像附件),点击允许用户跳过转场并快速将单元格标记为已完成。但我似乎无法让两者都工作:

  1. 点击单元格的主体应该调用 didSelectRowAtIndexPath
  2. 点击附件视图(空复选标记)应该调用一组不同的代码。

我已经尝试过accessoryButtonTappedForRowWithIndexPath,但它似乎没有被调用。

func tableView(tableView: UITableView, accessoryButtonTappedForRowWithIndexPath indexPath: NSIndexPath) { 
     //Shortcut code to change the cell to "finished"
}
Run Code Online (Sandbox Code Playgroud)

是否可以单击主体触发一组代码,单击附件视图触发另一组代码?如果是这样,怎么办?

uitableview accessoryview ios swift

5
推荐指数
1
解决办法
3809
查看次数

Swift 3:UITableViewRowActionStyle()"缺少参数"错误消息

当我滑动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在这种情况下的语法是什么?

uitableview ios uitableviewrowaction swift3

5
推荐指数
1
解决办法
1371
查看次数

权利不匹配:供应配置文件问题

使用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)与我的问题有关.有谁知道如何解决它?

xcode code-signing ios

5
推荐指数
1
解决办法
1373
查看次数