小编And*_*son的帖子

Swift NSAttributedStringKey没有正确应用前景色

我正在尝试创建一个meme生成器应用程序,以更好地理解Swift,Xdode,代理和UIKit.我试图使用NSAttributedStringKey将meme文本的颜色设置为白色并使用黑色笔划.黑色笔划正在工作,但当用户从相机胶卷中选择图像时,不会应用前景色.我已经搜索了StackOverflow,但所有的解决方案都适用于Swift 3,而不是Swift 4.我哪里出错?

我在下面列出了我的源代码.

import UIKit

class ViewController: UIViewController, UIImagePickerControllerDelegate, UINavigationControllerDelegate {

    @IBOutlet weak var imagePickerView: UIImageView!
    @IBOutlet weak var cameraButton: UIBarButtonItem!
    @IBOutlet weak var topText: UITextField!
    @IBOutlet weak var bottomText: UITextField!

    let memeTextAttributes:[String:Any] = [
        NSAttributedStringKey.strokeColor.rawValue: UIColor.black,
        NSAttributedStringKey.foregroundColor.rawValue: UIColor.white,
        NSAttributedStringKey.font.rawValue: UIFont(name: "HelveticaNeue-CondensedBlack", size: 40)!,
        NSAttributedStringKey.strokeWidth.rawValue: 3.0]

    override func viewDidLoad() {
        super.viewDidLoad()
        // Diable camer a button if camera ource isn't available
        cameraButton.isEnabled = UIImagePickerController.isSourceTypeAvailable(.camera)
        topText.defaultTextAttributes = memeTextAttributes
        bottomText.defaultTextAttributes = memeTextAttributes
    }

    // MARK: Delegate Methods

    func imagePickerController(_ picker: UIImagePickerController, …
Run Code Online (Sandbox Code Playgroud)

ios swift nsattributedstringkey

8
推荐指数
2
解决办法
4291
查看次数

使用LLDB在特定行上设置断点

我试图在Xcode的项目第37行设置一个断点,我想用LLDB设置它.我知道我可以通过点击装订线手动设置这个断点,但我希望更好地理解使用LLDB.我如何建立以下声明?该声明是否正朝着正确的方向前进?

breakpoint set --file
Run Code Online (Sandbox Code Playgroud)

debugging xcode breakpoints lldb

4
推荐指数
1
解决办法
1337
查看次数

无法将条形按钮项添加到Xcode中的导航控制器

我正在构建一个待办事项列表应用程序,以便使用tableViews和delegates进行更多练习.我已将我的主tableViewController嵌入到导航控制器中,并且我创建了两个额外的视图控制器,一个用于添加任务,另一个用于编辑任务.当我尝试将一个条形按钮项添加到其中一个附加视图控制器(完成,垃圾等)时,Xcode将项目放在屏幕底部的标签栏中,当我运行应用程序时,这些项目不是可见.我已经改变了我正在使用的设备类型,完全重新启动了Xcode,我无法弄清楚为什么会发生这种情况.我在下面添加了一个截图,这里是一个回购链接.任何想法为什么会这样?

在此输入图像描述

xcode uinavigationcontroller uibarbuttonitem ios

4
推荐指数
1
解决办法
2034
查看次数

Swift 中的协议与多态性

我是面向对象编程的新手,我正在尝试围绕协议、委托和多态性进行思考。我最近观看了一个培训视频,该视频宣传当您有两个具有相似方法实现的相似类时,协议是优雅地实现这一目标的最佳解决方案。那讲得通。然而,一些额外的研究让我发现了多态性,这听起来也是一种首选方法,而您可以简单地使用基类来建模功能并在子类中更新这些方法。

所以,我有两个问题。首先,我对多态的理解正确吗?我对所有这些概念仍然很陌生。其次,协议是否胜过多态性,你什么时候会使用一种而不是另一种?

谢谢!

polymorphism protocols ios swift

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

在Swift中使用UIIamgePickerControllerDelegate在屏幕上显示所选图像

我试图了解有关委托模式的更多信息.我编写了一个访问用户相机胶卷的应用程序,我希望在用户选择图像后在视图控制器上显示该图像.这是我到目前为止:

import UIKit

class ViewController: UIViewController, UIImagePickerControllerDelegate, UINavigationControllerDelegate {

    @IBOutlet weak var imagePickerView: UIImageView!

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
    }

    // Delegate Methods
    func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
        if let image = info[UIImagePickerControllerOriginalImage] as? UIImage {
            imagePickerView.image = image
        }
    }

    func imagePickerControllerDidCancel(_ picker: UIImagePickerController) {
        self.dismiss(animated: true, completion: nil)
    }

    @IBAction func pickAnImage(_ sender: Any) {

        let pickerController = UIImagePickerController()
        present(pickerController, …
Run Code Online (Sandbox Code Playgroud)

delegates uiimage ios swift

2
推荐指数
1
解决办法
1222
查看次数

快速选择特定文本字段时移动视图

我创建了一个模因生成器应用程序来更好地学习 Swift 和 Xcode。我正在学习当用户与会被键盘遮挡的文本字段交互时移动视图。我有这个功能,只有一个例外。所需的功能是在用户为底部文本字段输入文本时让视图向上滑动,bot 顶部。无论用户与之交互的文本字段如何,视图都会向上滑动。

在此处输入图片说明

如何仅将此功能分配给底部文本字段?这是我的源代码:

import UIKit

class ViewController: UIViewController, UIImagePickerControllerDelegate, UINavigationControllerDelegate, UITextFieldDelegate {

    @IBOutlet weak var imagePickerView: UIImageView!
    @IBOutlet weak var cameraButton: UIBarButtonItem!
    @IBOutlet weak var topText: UITextField!
    @IBOutlet weak var bottomText: UITextField!

    let memeTextAttributes:[String:Any] = [
        NSAttributedStringKey.strokeColor.rawValue: UIColor.black,
        NSAttributedStringKey.foregroundColor.rawValue: UIColor.white,
        NSAttributedStringKey.font.rawValue: UIFont(name: "HelveticaNeue-CondensedBlack", size: 30)!,
        NSAttributedStringKey.strokeWidth.rawValue: -5.0]

    override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)
        subscribeToKeyboardNotifications()
    }

    override func viewDidLoad() {
        super.viewDidLoad()
        // Diable camer a button if camera ource isn't available
        cameraButton.isEnabled = UIImagePickerController.isSourceTypeAvailable(.camera)
        topText.delegate = self …
Run Code Online (Sandbox Code Playgroud)

ios swift viewwilldisappear

0
推荐指数
1
解决办法
1299
查看次数

Xcode工具栏中的中心栏按钮

我在位于屏幕底部的工具栏内有两个按钮。我想将这些按钮置于工具栏的中央。我发现的所有内容都集中在导航栏中的居中按钮,我不确定如何解决此问题。我想念什么?

在此处输入图片说明

这是我尝试模仿的用户界面:

在此处输入图片说明

uitoolbar uibarbuttonitem ios

0
推荐指数
1
解决办法
1008
查看次数

迭代数组并更改每个UITableView Cell的背景颜色

我试图更好地了解UITableViews并从头开始构建它们.我想构建一个表格视图,为每个单元格显示不同的背景颜色.我已经构建了一个ColorModel类,它包含一个UIColors类型的数组.我的所有tableview单元格都显示红色背景,这是数组中的最后一种颜色.这是片段:

import Foundation
import UIKit

class ColorModel {

static var colors = [
    UIColor.white,
    UIColor.blue,
    UIColor.black,
    UIColor.brown,
    UIColor.cyan,
    UIColor.green,
    UIColor.red
]

} 
Run Code Online (Sandbox Code Playgroud)

这是我的主视图控制器语法:

import UIKit

class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {

@IBOutlet weak var tableView: UITableView!
var colorList = ColorModel.colors

override func viewDidLoad() {
    super.viewDidLoad()
    tableView.dataSource = self
    tableView.delegate = self
}

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return colorList.count
}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withIdentifier: "ColorCell", …
Run Code Online (Sandbox Code Playgroud)

uitableview uicolor ios swift

0
推荐指数
1
解决办法
385
查看次数