小编Dăn*_*ian的帖子

Swift覆盖实例变量

我知道这个答案已经在这里以其他形式发布了,但我想更多地了解在swift中覆盖实例变量.

假设我有这个代码

class BaseView:UIView{
 let someVariable:Int = 1
 // do some work with someVariable
}

class ExtendedView:BaseView{
 let someVariable:Int = 2
}
Run Code Online (Sandbox Code Playgroud)

好.从我读到的,常量需要一个覆盖前缀.其他答案说我应该宣布二传手和吸气剂?为什么?我真的不在乎那两个.我只需要替换值.我不能真正使用init覆盖,因为我继承自UIView,这可能是非常危险的(我认为).

欢迎任何建议.

variables inheritance class ios swift

31
推荐指数
1
解决办法
3万
查看次数

超视觉iPhone应用程序,如UIView或UITableView滚动

有人可以给我一个关于如何重新创建UltraVisual iPhone应用程序中使用的滚动效果的提示吗?这是一个用于说明效果的gif:

在此输入图像描述

第一个"cell"是全高,而其他显示的单元格是常规大小.当用户向上滚动时,第一个单元格慢慢地动画到常规高度,而下一个单元格慢慢变大.他们使用的是UITableView?或者UIScrollView?我不知道它是如何制作的......

iphone uitableview uiscrollview ios

17
推荐指数
2
解决办法
2883
查看次数

在drawRect()Swift中绘制bezier路径的动画

我有这种形状,我画了 drawRect()

var rectanglePath = UIBezierPath()

override func drawRect(rect: CGRect) {
    rectanglePath = UIBezierPath(rect: self.bounds)
    rectanglePath.fillWithBlendMode(kCGBlendModeMultiply, alpha: 0.7)
    layer.shouldRasterize = true
}
Run Code Online (Sandbox Code Playgroud)

当prepareForEditing函数被调用时,我想动画的rectanglePath.我试过了

  func prepareForEditing(editing:Bool){
        UIView.animateWithDuration(0.5,
            animations: {
              self.rectanglePath = makeNewShape()
            }
       )
  }
Run Code Online (Sandbox Code Playgroud)

什么都没发生.你能告诉我我的代码有什么问题吗?

animation bezier shapes swift

14
推荐指数
2
解决办法
2万
查看次数

使用suiteName检测NSUserDefaults上的更改

我创建了appGroups并确实NSUserDefaults使用该组进行了设置.我有一个观察者,当值改变时不会触发该观察者.

let defaults = NSUserDefaults(suiteName: "group.daniesy.text")!            
defaults.addObserver(self, forKeyPath: "temp", options: NSKeyValueObservingOptions.New, context: nil)
defaults.setBool(!defaults.boolForKey("temp"), forKey: "temp")
defaults.synchronize()

override func observeValueForKeyPath(keyPath: String, ofObject object: AnyObject, change: [NSObject : AnyObject], context: UnsafeMutablePointer<Void>) {
    println("changed")
}
Run Code Online (Sandbox Code Playgroud)

但是,如果我忽略appGroup并使用NSUserDefaults.standardUserDefaults()它按预期工作.知道为什么它不起作用吗?

nsuserdefaults ios swift

10
推荐指数
1
解决办法
2444
查看次数

Watchkit页面导航中的动态页数

有没有办法在基于页面的导航中动态创建页面?在我阅读的每个示例中,页面都创建为接口控制器并在Storyboard中链接.

swift watchkit

10
推荐指数
2
解决办法
4450
查看次数

Apple Music流派选择屏幕

有没有人知道Apple音乐中的流派选择泡沫是如何产生的?这项运动似乎是用UiKit Dynamics完成的.我肯定会看到碰撞行为,但似乎无法再现拖曳运动的流动性和朝向视图中心的重力.我试着用UIPushBehavior和UiSnapBehavior,但没有运气.

截图

ios uikit-dynamics swift

10
推荐指数
2
解决办法
1873
查看次数

watchkit中的自定义元素

我正在阅读Apple Watch人机界面指南,我很好奇是否有任何方式显示自定义UI元素,而不是Apple默认提供的那些元素(如表格,按钮或标签).他们是如何设法做到这一点的:在此输入图像描述

他们使用图像吗?

user-interface watchkit

9
推荐指数
1
解决办法
1814
查看次数

iOS Swift笔画宽度

lineWidth在UIView中绘制不同形状时遇到问题.附图中的所有形状都应该具有3的lineWidth.这是我使用的代码:

 var path:UIBezierPath = UIBezierPath()
 path.moveToPoint(CGPoint(x: 0.0, y: 0.0))
 path.addLineToPoint(CGPoint(x: 0.0, y: 50.0))
 path.lineWidth = 3.0
 path.stroke()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述 正如你在pic中看到的那样,只有圆圈的真实笔划大小为3px.时钟的手都是2px(这就是他们严重对齐的原因).

你能帮我吗?

path draw ios swift

7
推荐指数
1
解决办法
7341
查看次数

每次打开故事板时都会错过视图

我正在使用一些带有一些ViewControllers的故事板,这些ViewControllers的元素定位为autolayout.每当我打开故事板时,即使我修复了所有这些内容,我也会得到错误的视图.我必须一次又一次地更新帧.有没有什么办法解决这一问题?我正在使用xcode 6.

ios autolayout

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

如何在Swift Protocols可选函数中使用Enums作为参数

我在Swift中有这个枚举

enum Direction: Int{
  case Left2Right = 0, Right2Left
}
Run Code Online (Sandbox Code Playgroud)

而这个协议

@objc protocol CellDelegate : NSObjectProtocol{
   optional func has(direction:SwipeDirection) -> Bool
}
Run Code Online (Sandbox Code Playgroud)

我收到了这个错误 Method cannot be marked @objc because the type of the parameter cannot be represented in Objective-C

任何人都可以告诉我为什么会出现这个错误以及如何解决它?谢谢!

enums protocols ios swift

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