小编Tal*_*ion的帖子

如何调配 Swift.print(items:separator:terminator)

我正在寻找 swizzleSwift.print功能的方法。覆盖它不是一种选择,因为如果您使用它可能会被绕过Swift.print(:)

选择器无法识别标识符:

@objc class func printSwizzle() {
    guard let instance = class_getInstanceMethod(self, #selector(print(separator:terminator:))),
    let swizzleInstance = class_getInstanceMethod(self, #selector(swizzlePrint(separator:terminator:))) else { return }
    method_exchangeImplementations(instance, swizzleInstance)
}
Run Code Online (Sandbox Code Playgroud)

这甚至可能吗?因为 swizzling 是一个obj-c运行时特性。

ios swift method-swizzling

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

MKMapSnapshotter 返回黑色背景图像 iOS 13

从 iOS 13 开始,此代码返回黑色图像。任何的想法?

我还记录了这些警告:

InfoLog FlyoverNightShader: WARNING: 0:29: Overflow in implicit constant conversion, minimum range for lowp float is (-2,2)
WARNING: 0:31: Overflow in implicit constant conversion, minimum range for lowp float is (-2,2)
Run Code Online (Sandbox Code Playgroud)
let mapSnapshotOptions = MKMapSnapshotter.Options()
    mapSnapshotOptions.mapType = .satelliteFlyover
    let location = CLLocationCoordinate2D(latitude: lat, longitude: long)
    let span = MKCoordinateSpan(latitudeDelta: 10, longitudeDelta: 10)
    let region = MKCoordinateRegion(center: location, span: span)
    mapSnapshotOptions.region = region
    let snapShotter = MKMapSnapshotter(options: mapSnapshotOptions)

    snapShotter.start { [weak self]  (snapshot, error)in
        if let image …
Run Code Online (Sandbox Code Playgroud)

swift ios13

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

UINavigation设置了后退按钮图像而不是<Back text Swift 2.0

我正在尝试更改内部的"后退"按钮UINavigationController.这是我到目前为止尝试的和输出:

1

代码内 ViewDidLoad

self.navigationController?.navigationBar.backIndicatorImage = UIImage(named: "navBarBackButton")
    self.navigationController?.navigationBar.backIndicatorTransitionMaskImage = UIImage(named: "navBarBackButton")
    self.navigationItem.backBarButtonItem?.image = UIImage(named: "navBarBackButton")
Run Code Online (Sandbox Code Playgroud)

输出:

导航后退按钮

我尝试添加以下但id没有帮助:

self.navigationItem.backBarButtonItem = UIBarButtonItem(title:"", style:.Plain, target:nil, action:nil)
Run Code Online (Sandbox Code Playgroud)

2

代码内 AppDelegate

let backImg: UIImage = UIImage(named: "navBarBackButton")!
    UIBarButtonItem.appearance().setBackButtonBackgroundImage(backImg, forState: .Normal, barMetrics: .Default)
Run Code Online (Sandbox Code Playgroud)

输出:

导航后退按钮

3

我尝试添加后退按钮,Storyboard但没有任何改变

导航后退按钮

4 - 感谢sanandiya vipul.还需要它而不是'后退'.这只会删除'返回但保持图像右下方而不是整个'

UIBarButtonItem.appearance().setBackButtonTitlePositionAdjustment(UIOffsetMake(0, -80.0), forBarMetrics: .Default)
Run Code Online (Sandbox Code Playgroud)

这是输出:

返回键

这是我希望实现的结果

返回键

uiimage uinavigationcontroller ios swift

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

如何使用 fastlane Fastfile 通道自动化 xcode clean 过程

我正在寻找一种使用 fastlate 自动化 xcode clean 过程的方法。

我希望实现的目标:

  1. 清除派生数据文件夹
  2. 清理构建文件夹
  3. 干净的
  4. 建造

到目前为止,我自动化了派生数据文件夹

lane :clean do
  clear_derived_data
end
Run Code Online (Sandbox Code Playgroud)

xcode fastlane fastfile

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

很高兴在Swift中制作UITextView 50%透明色

我试图让UITextView背景颜色透明50%.我尝试设置alpha0.5但它也将文本alpha更改为0.5,这不是我需要的,我只需要视图为50%透明.

alpha interface-builder uitextview ios

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

协议可选方法在未实现时会崩溃

我正在使用带有一些可选方法的协议

#import <UIKit/UIKit.h>
@class TextViewTableViewCell;

@protocol TextViewTableViewCellDelegate

@optional
- (void)textViewDidChange:(UITextView *)textView forIndexPath:(NSIndexPath *)indexPath;
- (void)textViewTableViewCellDoneTyping:(UITextView *)textView forIndexPath:(NSIndexPath *)indexPath;
- (BOOL)shouldChangeEditTextCellText:(TextViewTableViewCell *)cell newText:(NSString *)newText;

@end

@interface TextViewTableViewCell : UITableViewCell <UITextViewDelegate>
Run Code Online (Sandbox Code Playgroud)

但如果我使用我实现此协议的类中的任何函数,它就会崩溃

我不知道为什么会发生这种情况。据我所知,可选方法并不是强制使用的。

当调用委托函数并且我们调用协议方法时,它会导致该方法崩溃

- (void)textViewDidChange:(UITextView *)textView
{
[self.delegate textViewDidChange:self.textView forIndexPath:self.indexPath];
}
Run Code Online (Sandbox Code Playgroud)

protocols objective-c ios

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

在 Swift 中针对 Nil 值漂亮地测试多个变量

有没有什么漂亮的方法来测试下面的内容?我有多个parameters我需要知道其中是否有任何一个是nil

这就是我现在正在使用的,我确信有一种有效的方法可以测试所有并输入nil一次,但不确定如何:

if title == nil || name == nil  || height == nil || productName == nil {
            //Do something
        }
Run Code Online (Sandbox Code Playgroud)

我正在使用ObjectMapper并且在他们的时候,他们不支持错误处理,因此,我的init() throws错误和我需要检查来自的值Map是否为 nil 以及是否为 nil 。

if-statement ios swift

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

如何以编程方式获取 Firebase InAppMessaging 实例 ID

有没有办法以编程方式获取 Firebase InApp Messaging?

InstanceID.instanceID().instanceID {} // returns fcm token
Messaging.messaging().fcmToken // returns fcm token 
Run Code Online (Sandbox Code Playgroud)

我们可以在启用调试模式参数的同时获取应用程序内消息传递,但我想知道是否可以通过编程方式获取它。

Firebase 应用内消息传递文档:iOS

ios firebase swift firebase-in-app-messaging

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