小编Pra*_*dha的帖子

iOS 13-使用UISearchBar _searchField的自定义SearchBar无法正常工作

在Xcode-11-Beta(ios13)之前,以下代码用于自定义searchbar值以获取使key正常工作的键值。现在低于崩溃日志。

'NSGenericException',原因:'禁止访问UISearchBar的_searchField ivar。这是一个应用程序错误”

- (UITextField *)textField
{
 return [self valueForKey:@"_searchField"];
}
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏。

objective-c uisearchbar ios13 xcode11

28
推荐指数
5
解决办法
1万
查看次数

创建多页 PDF

我需要实现使用多页文本创建pdf的功能。

class PDFCreator {

func prepareData() -> Data {
    //1
    let pdfMetaData = [
      kCGPDFContextCreator: "PDF Creator",
      kCGPDFContextAuthor: "Pratik Sodha",
      kCGPDFContextTitle: "My PDF"
    ]

    //2
    let format = UIGraphicsPDFRendererFormat()
    format.documentInfo = pdfMetaData as [String: Any]

    //3
    let pageWidth = 8.5 * 72.0
    let pageHeight = 11 * 72.0
    let pageRect = CGRect(x: 0, y: 0, width: pageWidth, height: pageHeight)

    //4
    let renderer = UIGraphicsPDFRenderer(bounds: pageRect, format: format)

    //5
    let data = renderer.pdfData { (context) in
        //6
        context.beginPage()
        self.addText("Lorem Ipsum is …
Run Code Online (Sandbox Code Playgroud)

pdf pdfkit pdfview ios swift

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

IOS 未知崩溃:- LIBPLATFORM 客户端中的错误:尝试递归锁定 os_unfair_lock

这是发生崩溃的代码:-

private func dispatchMessageImmediately(topicName : String, mqttMessage : MQTTMessage){
        AppDelegate.getAppDelegate().log.debug("Message: \(String(describing: mqttMessage.payloadString))")
        let listener = self.topicToListenerMap?[topicName]

        if listener != nil {
            DispatchQueue.main.async(execute: { () -> Void in
                MessageDispatchUtils.dispatchMessageToListeners(topicName: topicName, mqttMessage: mqttMessage, topicListener: listener!)
            })
        }
}
Run Code Online (Sandbox Code Playgroud)

我使用的 Xcode 版本是 9.3。我的操作系统版本是 iOS 11.4.1 设备是 iPhone 5s。崩溃是在 libswift.dylib 中引起的

这是崩溃的崩溃报告。有帮助吗?提前致谢

Crashed: com.apple.main-thread
0  libsystem_platform.dylib       0x18358de38 _os_unfair_lock_recursive_abort + 36
1  libsystem_platform.dylib       0x18358ebb8 _os_unfair_lock_lock_slow + 264
2  libobjc.A.dylib                0x182b45720 objc_object::sidetable_clearDeallocating() + 104
3  libobjc.A.dylib                0x182b349d8 objc_destructInstance + 140
4  libswiftCore.dylib             0x10263ec0c swift_deallocClassInstance + 32 …
Run Code Online (Sandbox Code Playgroud)

crash ios crashlytics swift

6
推荐指数
0
解决办法
3932
查看次数

更改窗口 rootViewController 后安全区域插入错误

我正在inputAccessoryView使用UIViewController. 一切正常,直到我改变UIWindows rootViewController。之后,safeAreaInsets肖像被报告为风景,反之亦然。

rootViewController仅当从具有键盘输入的位置进行更改时才会发生这种情况。

以下是重现该问题的示例项目:https ://github.com/jcavar/ChangeRootSafeArea

我想这是某种魔法UITextEffectsWindow造成的。我尝试在更改之前完全删除它rootViewController,但随后输入附件视图不再出现。

对此有什么想法吗?

ios autolayout ios-autolayout safearealayoutguide

5
推荐指数
0
解决办法
697
查看次数

iOS 13如何在NavigationBar中隐藏UISearchController searchBar

我有带有搜索栏(UISearchController)的导航栏,还有左栏按钮图标,单击该图标时,通过将其分配给navigationItem来显示此搜索控制器,如下所示:

if navigationItem.searchController != nil {
            navigationItem.searchController = nil
            navigationController?.view.setNeedsLayout()
            navigationController?.view.layoutIfNeeded()
        } else {
            navigationItem.searchController = searchController
            navigationController?.view.setNeedsLayout()
            navigationController?.view.layoutIfNeeded()

            searchController.searchBar.becomeFirstResponder()
        }
Run Code Online (Sandbox Code Playgroud)

它有效,但是如果在“取消”按钮上触摸,我尝试隐藏搜索栏,则关闭了视图控制器,并出现黑屏(无视图控制器)

extension SearchableMenuViewController : UISearchBarDelegate {

    func searchBarCancelButtonClicked(_ searchBar: UISearchBar) {
        guard #available(iOS 11.0, *) else { return }
        guard !isAlwaysVisible else { return }

        if #available(iOS 13.0, *) {
            DispatchQueue.main.asyncAfter(deadline: .now() + 1.0) {
                self.navigationItem.searchController = nil
                self.navigationController?.view.setNeedsLayout()
                self.navigationController?.view.layoutIfNeeded()
            }
        } else {
            navigationItem.searchController = nil
            navigationController?.view.setNeedsLayout()
            navigationController?.view.layoutIfNeeded()
        }
    }
Run Code Online (Sandbox Code Playgroud)

我试图添加延迟原因,原因是没有从NavigationItem中删除此searchcontroller,而是使用Title + Search Controller将其动画化为扩展的导航栏,然后点击Search icon正确隐藏了搜索控制器。所以问题是我认为在动画扩展到导航栏时删除搜索控制器

ios swift uisearchcontroller ios13

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

iOS13的白色问题与UIKit的textColor

在iOS13之前的应用程序布局无法正常工作。苹果在iOS13.1中最新的深色主题和浅色主题更新后,它们在现有应用程序中面临着许多问题。就像UITextField placeHolder和whiteColor以前是blackColor一样,UIDatePicker textColor和whiteColor以前是blackColor。

谁能帮我解决下面的DatePicker文本颜色问题。这是不可见的,因为whiteColor,TextColor应该为blackColor。

在此处输入图片说明

任何帮助表示赞赏。谢谢。

uidatepicker uitextfield ios swift ios13

4
推荐指数
2
解决办法
797
查看次数

在 Swift 5 中为 IOS 13 更改 tabBar 高度

我需要将UITabBar高度更改为 95。我可以在旧版本的 iOS Swift 中做到这一点。这是我在旧版本中工作的代码。

override func viewWillLayoutSubviews() {
    super.viewWillLayoutSubviews()

    tabBar.frame.size.height = 95
    tabBar.frame.origin.y = view.frame.height - 95

    menuButton.frame.origin.y = self.view.bounds.height - tabBar.frame.size.height - 10
    shadowBtn.frame.origin.y = self.view.bounds.height - tabBar.frame.size.height - 15
}
Run Code Online (Sandbox Code Playgroud)

uitabbarcontroller ios swift swift5 ios13

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

UITextField leftView 和 rightView 重叠问题 - iOS13

这类似于UITextField rightView 重叠右对齐文本, 但我很难理解如何解决这个问题:

在此处输入图片说明

当我设置 borderStyle = .none 时,重叠发生在 ios 13.1 如果边框存在,则文本不会与图像重叠。

    public func addRightImage(_ image: UIImage, accessibilityIdentifier: String? = nil,
                              size: CGSize) {
        self.rightViewMode = .always
        let widthImageView : CGFloat = 25

        let rightImageView = UIImageView(frame: .init(x: 0, y: 0, width: widthImageView, height: self.bounds.size.height))
        rightImageView.accessibilityIdentifier = accessibilityIdentifier
        rightImageView.image = image
        if #available(iOS 13, *) {
            self.rightView = rightImageView
        } else {
            assert(self.rightImageView == nil)
            let widthView : CGFloat = is4incher ? 30 : 50

            let rightView = UIView(frame: …
Run Code Online (Sandbox Code Playgroud)

uikit ios ios13

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

遍历 SwiftyJSON

请帮忙。

我无法循环 imageUrl。它只返回一个图像而不是遍历所有图像

"images" : [
      {
        "resturantId" : "919db18e-f5e2-4a6b-1df8-08d747e8c08c",
        "id" : "e722f447-a7b8-467c-9b5a-08d747ea79eb",
        "imageUrl" : "https:\/\/149356549.v2.pressablecdn.com\/wp-content\/uploads\/2019\/02\/dominos-pizza.jpg"
      },
      {
        "resturantId" : "919db18e-f5e2-4a6b-1df8-08d747e8c08c",
        "id" : "e6f42a59-f7a1-4a27-9b5b-08d747ea79eb",
        "imageUrl" : "https:\/\/www.pymnts.com\/wp-content\/uploads\/2019\/02\/dominos-earnings-q4-growth.jpg"
      },
      {
        "resturantId" : "919db18e-f5e2-4a6b-1df8-08d747e8c08c",
        "id" : "d10e91eb-8d44-477b-9b5c-08d747ea79eb",
        "imageUrl" : "http:\/\/apparelmagazine.co.nz\/restaurantandcafe\/wp-content\/uploads\/sites\/3\/2019\/06\/DOminos.jpg?w=640"
      }
    ]
Run Code Online (Sandbox Code Playgroud)
func updateRestImage(json : JSON) {

    for for (index, subJson) in json {
        if let restuarantName = subJson["images"][0]["imageUrl"].string {
            print("jnfvjfvjfvubfuvbfuvb yessssss\(restuarantName)")

        }

     }

   restuarantTableView.reloadData()
}
Run Code Online (Sandbox Code Playgroud)

json ios swift

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

iOS:如何计算两个日期之间的毫秒数

我正在处理 URLSession 的网络调整并获取每个请求的详细信息。但是,当我尝试以毫秒为单位计算请求日期的值时,有时计算会显示更高的值。在 swizzling 中,startLoading我们正在获取当前日期,在里面stopLoading我们正在计算毫秒。下面是我的逻辑

let startDate: Date?
override public func startLoading() {
    startDate = Date()
}

override public func stopLoading() {
   print(fabs(startDate.timeIntervalSinceNow) * 1000)


 }
Run Code Online (Sandbox Code Playgroud)

ios swift

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