如何在选择器视图中更改字体大小?我已经阅读了很多关于此的问题,但没有一个在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) 我正在阅读一些关于如何构建简单应用程序的Swift教程,因为我刚开始编写代码.我想让我的应用程序iOS 9兼容,因为我有一个iPad 3.但是,所有os.log语句都在Xcode中生成一个错误,它告诉我if #avaliable在任何语句之前添加一个os.log语句.os.log做了什么,如果我需要它,是否存在使用if #avaliableiOS 9兼容性声明的问题?如果没有,那么在else声明之后的if #avaliable声明中,iOS 9的等效代码是什么?谢谢.
我正在构建一个 Swift 应用程序,用于监控 Mac 笔记本电脑电池的电池百分比以及充电状态。在 iOS 上,batteryLevelDidChange设备电池百分比变化时会发送通知,batteryStateDidChange设备插入、拔出插头和充满电时也会发送通知。
Swift 中这两个通知在 macOS 中的等效项是什么,或者更具体地说,对于kIOPSCurrentCapacityKey和kIOPSIsChargingKey?我通读了通知文档,但没有看到任何通知。这是我用于获取当前电池电量和充电状态的代码:
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) 我有一个视图,其中包含三个选择器视图。两个选择器视图具有相同的数据,一个包含数字 1 到 100 的数组。第三个选择器视图包含一个包含模型铁路轨道制造商列表的数组。我使用我在本网站上找到的方法标记了选择器视图,但是当我运行该应用程序时,所有三个选择器视图的数据都为 1 到 100。我还从所有选择器视图控制拖动到视图顶部的黄色圆圈,然后单击dataSource和delegate。如何在一个视图中使用具有不同数据源的多个选择器视图?另外,为了使代码运行,我不得不从所有@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) 我正在编写一个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.
谢谢。
swift ×5
ios ×3
cocoa ×2
macos ×2
uipickerview ×2
batterylevel ×1
iokit ×1
ios10 ×1
ios9 ×1
logging ×1
lsuielement ×1
nspopover ×1