小编shi*_*him的帖子

如何在Swift中翻转标签(获取镜像视图)(Xcode 6.3)

我试图用CGAffineTransformMakeRotation翻转(获取镜像视图)标签文本.但仍然没有进展.

这段代码垂直翻转,但我无法水平翻转.

self.labelShowdata.transform = CGAffineTransformMakeRotation((180.0 * CGFloat(M_PI)) / 180.0)
Run Code Online (Sandbox Code Playgroud)

谢谢

cocoa-touch uiview uilabel ios swift

9
推荐指数
3
解决办法
8660
查看次数

SFSafariViewController加载空白页面

我正在使用SFSafariViewController在我的iOS应用程序中打开一个URL ..它在iOS 9上完美运行但是在将我的设备更新到iOS 10后,它只是在地址栏中加载了一个没有URL的空白页面.甚至safariViewController(控制器:SFSafariViewController,didCompleteInitialLoad didLoadSuccessfully:Bool)在控制器出现后也没有被调用.

我在视图控制器中导入了这个:

import SafariServices
Run Code Online (Sandbox Code Playgroud)

码:

let url = NSURL(string: urlString)!
if #available(iOS 9.0, *) {
    let safariVC = SFSafariViewController(URL: url)
    safariVC.delegate = self
    self.presentViewController(safariVC, animated: true, completion: {
        self.hideHUD()
     })
} else {
    // Fallback code
}
Run Code Online (Sandbox Code Playgroud)

是其他人面临的完全相同问题的链接

ios swift sfsafariviewcontroller ios10

9
推荐指数
2
解决办法
4916
查看次数

应用程序与Testflight中的iPhone 4s和5不兼容

我差不多完成了我的应用程序,现在我正在测试它.问题是我无法让它在iPhone 4s和iPhone 5上运行.部署目标设置为8.0,并且它在iPhone 4s模拟器上运行完美.当我的测试人员打开TestFlight时,他们可以看到这个兼容设备列表,而且设备早于iPhone 5s的人无法安装它.这是我的测试人员在TestFlight中看到的:

另一个奇怪的是它与iPad兼容,但我只在Xcode中将我的设备设置为iPhone.

我试过研究这个,但我只能找到与自动布局和尺寸调整问题相关的问题.我确保所有设备上的一切都应该很好看,我错过了什么?

iphone ios testflight

8
推荐指数
1
解决办法
4222
查看次数

React Native - iOS集合视图

我应该在React Native中使用哪种方法来实现像集合视图一样的水平滚动?外观和感觉需要与原生iOS完全相似UICollectionView.

ios uicollectionview react-native

8
推荐指数
1
解决办法
7781
查看次数

升级到Xcode 8后,viewDidLayoutSubviews中的UIView帧错误

在我的每个xib中,它问我要使用什么默认设备.我选择iPhone 6并将帧更新为建议的帧.现在,在viewWill或viewDidLayoutSubviews中受影响的任何视图都搞砸了.他们都有框架CGRect(0, 0, 1000, 1000).

这是我的代码:

self.headImage.layer.cornerRadius = ceilf(CGRectGetWidth(self.headImage.frame)/2);
self.headImage.layer.masksToBounds = YES;
Run Code Online (Sandbox Code Playgroud)

想知道这是什么以及是否有解决方案.谢谢

xcode frame xib

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

使用Swift设置自定义表格视图页脚

我正在尝试将自定义页脚设置为我的表格视图.我在一个nib文件上创建了页脚并创建了一个受控制的页脚.

class LoginTableFooter: UITableViewHeaderFooterView
Run Code Online (Sandbox Code Playgroud)

viewDidLoad()我写这个代码

let footerNib = UINib(nibName: "LoginTableFooter", bundle: nil)
        tableView.register(footerNib, forHeaderFooterViewReuseIdentifier: "LoginTableFooter")
Run Code Online (Sandbox Code Playgroud)

然后我实施了 viewForFooterInSection

func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
    let cell = self.tableView.dequeueReusableHeaderFooterView(withIdentifier: "LoginTableFooter")
    let header = cell as! LoginTableFooter

    return cell
}
Run Code Online (Sandbox Code Playgroud)

viewForFooterInSection从未被称为.我也试图实现,viewForHeaderInSection但它也没有被调用.你知道出了什么问题吗?我的表视图中只有一个部分; 是否可以/更好地直接设置页脚viewDidLoad

uitableview ios swift

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

Swiftlint 覆盖与 SPM 相关的项目设置

我遇到了 swiftlint 自动更正的奇怪行为。我的项目使用通过 SPM 导入的库。但是当我运行 linter 时,它会更改如下设置

B4621A7323D0A90F00545ADE /* LibraryName in Frameworks */ = {isa = PBXBuildFile; productRef = B4621A7223D0A90F00545ADE /* LibraryName */; };

files = (
    B4621A7323D0A90F00545ADE /* LibraryName in Frameworks */,

packageProductDependencies = (
    B4621A7223D0A90F00545ADE /* LibraryName */,

packageReferences = (
    B4621A7123D0A90F00545ADE /* XCRemoteSwiftPackageReference "library-name" */,
Run Code Online (Sandbox Code Playgroud)

像这样的事情

B4621A7323D0A90F00545ADE /* BuildFile in Frameworks */ = {isa = PBXBuildFile; productRef = B4621A7223D0A90F00545ADE /* SwiftPackageProductDependency */; };

files = (
    B4621A7323D0A90F00545ADE /* BuildFile in Frameworks */,

packageProductDependencies = (
    B4621A7223D0A90F00545ADE /* …
Run Code Online (Sandbox Code Playgroud)

xcode swift swift-package-manager swiftlint

8
推荐指数
1
解决办法
590
查看次数

协议符合隐式解包的选项

我试图让斯威夫特协议,我可以使用UILabelUITextField以及UITextView结合了他们textattributedTextfont性能。

然而,不幸的是,这三个类与它们是否为这些属性使用可选类型或隐式解包的可选类型不一致。

例如,如果我创建此协议:

protocol MyProtocol: class {
    var font: UIFont? { get set }
}
Run Code Online (Sandbox Code Playgroud)

我应用它:

extension UILabel: MyProtocol { }
extension UITextField: MyProtocol { }
extension UITextView: MyProtocol { }
Run Code Online (Sandbox Code Playgroud)

它适用于UITextFieldandUITextView但是UILabelfont属性是UIFont!,所以编译器说不UILabel符合MyProtocol.

此外,textandattributedText是可选的 ( String?) for UILabelandUITextField但隐式解包 for UITextView( String!)。因此,对于所有三个属性,哪些使用可选项以及哪些使用隐式展开的可选项甚至不一致。

那么我不得不font在协议中重命名为例如。uiFont …

uilabel ios swift swift-protocols swift-optionals

8
推荐指数
1
解决办法
125
查看次数

XCode - 如何重置/“删除”从 Xcode 运行的 mac os 应用程序(类似于删除 ios 模拟器中的应用程序)?

使用 iOS 模拟器时,我只需删除该应用程序并重新运行该应用程序即可重新开始。对于 macOS 应用程序,这是如何完成的?我找不到它。“DerivedData”内有一个项目文件夹,但删除它也会扰乱整个项目,我必须重新获取所有依赖项和内容。

谢谢!

macos xcode

8
推荐指数
1
解决办法
1441
查看次数

SPM 缓存在 github 操作上不起作用,有什么想法吗?

我正在尝试使用缓存操作在 GitHub Actions 上缓存 SPM 包,我遵循以下示例:

  - uses: actions/cache@v2
  with:
    path: Myproject.xcworkspace/xcshareddata/swiftpm/Package.resolved
    key: ${{ runner.os }}-spm-${{ hashFiles('**/Package.resolved') }}
    restore-keys: |
      ${{ runner.os }}-spm-
Run Code Online (Sandbox Code Playgroud)

我觉得当你使用 Xcode 添加 SPM 包时不可能使用缓存

有人成功地将缓存添加到您的项目中,甚至通过 Xcode 管理 SPM 吗?或者我的 .yml 文件可能有问题,但不幸的是我无法使其工作。

github swift swift-package-manager github-actions

8
推荐指数
1
解决办法
2786
查看次数