小编W. *_*ook的帖子

如何更改Swift 3中UIPickerView的字体大小?

如何在选择器视图中更改字体大小?我已经阅读了很多关于此的问题,但没有一个在Swift 3中.我有三个选择器视图; 前两个有两列,并具有相同的数据源和委托.最后一个列有一列,并具有不同的数据源和委托.我无法通过一个字符使前两个选择器视图中的文本适合.如有必要,如何缩小UIPickerView中的字体大小并调整选择器视图行高?谢谢.

class ViewController: UIViewController {

//MARK: Properties


@IBOutlet weak var layoutLengthPicker: UIPickerView!
@IBOutlet weak var layoutWidthPicker: UIPickerView!
@IBOutlet weak var trackPicker: UIPickerView!

let layoutLengthPickerDelegate = DimensionsPickerDelegate()
let layoutWidthPickerDelegate = DimensionsPickerDelegate()
let trackPickerDelegate = TrackPickerDelegate()

override func viewDidLoad() {
    super.viewDidLoad()

    layoutLengthPicker.delegate = layoutLengthPickerDelegate
    layoutLengthPicker.dataSource = layoutLengthPickerDelegate

    layoutWidthPicker.delegate = layoutWidthPickerDelegate
    layoutWidthPicker.dataSource = layoutWidthPickerDelegate

    trackPicker.delegate = trackPickerDelegate
    trackPicker.dataSource = trackPickerDelegate


    // Do any additional setup after loading the view, typically from a nib.
}


//MARK: Actions



override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning() …
Run Code Online (Sandbox Code Playgroud)

uipickerview ios swift

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

什么是os.log?

我正在阅读一些关于如何构建简单应用程序的Swift教程,因为我刚开始编写代码.我想让我的应用程序iOS 9兼容,因为我有一个iPad 3.但是,所有os.log语句都在Xcode中生成一个错误,它告诉我if #avaliable在任何语句之前添加一个os.log语句.os.log做了什么,如果我需要它,是否存在使用if #avaliableiOS 9兼容性声明的问题?如果没有,那么在else声明之后的if #avaliable声明中,iOS 9的等效代码是什么?谢谢.

logging ios swift ios9 ios10

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

是否有与 macOS 上的 kIOPSCurrentCapacityKey 等效的电池电量变化通知?

我正在构建一个 Swift 应用程序,用于监控 Mac 笔记本电脑电池的电池百分比以及充电状态。在 iOS 上,batteryLevelDidChange设备电池百分比变化时会发送通知,batteryStateDidChange设备插入、拔出插头和充满电时也会发送通知。

Swift 中这两个通知在 macOS 中的等效项是什么,或者更具体地说,对于kIOPSCurrentCapacityKeykIOPSIsChargingKey?我通读了通知文档,但没有看到任何通知。这是我用于获取当前电池电量和充电状态的代码:

import Cocoa
import IOKit.ps

class MainViewController: NSViewController {

enum BatteryError: Error { case error }

func getMacBatteryPercent() {

    do {
        guard let snapshot = IOPSCopyPowerSourcesInfo()?.takeRetainedValue()
            else { throw BatteryError.error }

        guard let sources: NSArray = IOPSCopyPowerSourcesList(snapshot)?.takeRetainedValue()
            else { throw BatteryError.error }

        for powerSource in sources {
            guard let info: NSDictionary = IOPSGetPowerSourceDescription(snapshot, ps as CFTypeRef)?.takeUnretainedValue()
                else { throw BatteryError.error }

            if …
Run Code Online (Sandbox Code Playgroud)

macos cocoa iokit batterylevel swift

5
推荐指数
2
解决办法
1037
查看次数

如何在同一视图中使用具有不同数据源的多个选择器视图?

我有一个视图,其中包含三个选择器视图。两个选择器视图具有相同的数据,一个包含数字 1 到 100 的数组。第三个选择器视图包含一个包含模型铁路轨道制造商列表的数组。我使用我在本网站上找到的方法标记了选择器视图,但是当我运行该应用程序时,所有三个选择器视图的数据都为 1 到 100。我还从所有选择器视图控制拖动到视图顶部的黄色圆圈,然后单击dataSourcedelegate。如何在一个视图中使用具有不同数据源的多个选择器视图?另外,为了使代码运行,我不得不从所有@IBOutlet 中删除与选择器视图相关的声明。这是一件坏事吗?我对代码比较陌生。谢谢。

选择器视图场景屏幕截图

import UIKit

class ViewController: UIViewController, UIPickerViewDataSource, UIPickerViewDelegate {
    //MARK: Properties

    @IBOutlet var layoutLengthPickerView: UIPickerView!
    @IBOutlet var layoutWidthPickerView: UIPickerView!
    @IBOutlet var trackPickerView: UIPickerView!

    override func viewDidLoad() {
        super.viewDidLoad()

        layoutLengthPickerView = UIPickerView()
        layoutWidthPickerView = UIPickerView()
        trackPickerView = UIPickerView()

        layoutLengthPickerView.tag = 0
        layoutWidthPickerView.tag = 1
        trackPickerView.tag = 2
    }

    let numbers = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", …
Run Code Online (Sandbox Code Playgroud)

uipickerview ios swift

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

如何让我的应用程序表现得像我在运行时使用 Swift 更改 Application is agent(UIElement) 一样?

我正在编写一个NSPopover位于菜单栏右侧的 Mac 应用程序(Application is agent(UIElement)设置为YES)。我允许用户通过单击并向下拖动来分离弹出窗口,这会将应用程序放在窗口内。这工作正常;但是,当应用程序被拖出菜单栏并进入一个窗口时,我希望我的应用程序图标出现在 Dock 中,并在菜单栏的左侧显示特定于应用程序的菜单,就好像Application is agent(UIElement)设置为NO。相反,当窗口关闭并且应用程序返回到菜单栏中的弹出窗口时,我希望我的应用程序图标从 Dock 中消失并且不再在菜单栏的左侧显示特定于应用程序的菜单(Application is agent(UIElement)已设置回到YES)。

这个问题,我明白Application is agent(UIElement)在运行时改变是不可能的。然而,给出的答案是在 Objective-C 中,最后一个函数似乎从 OS X 10.9 开始贬值了。如何使我的应用程序具有与Application is agent(UIElement)使用 Swift 在运行时更改相同的行为?

我知道显示应用windowDidBecomeMain程序图标/菜单栏菜单会发生在windowWillClose.

谢谢。

macos cocoa nspopover swift lsuielement

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