在Xcode-11-Beta(ios13)之前,以下代码用于自定义searchbar值以获取使key正常工作的键值。现在低于崩溃日志。
'NSGenericException',原因:'禁止访问UISearchBar的_searchField ivar。这是一个应用程序错误”
- (UITextField *)textField
{
return [self valueForKey:@"_searchField"];
}
Run Code Online (Sandbox Code Playgroud)
任何帮助表示赞赏。
我需要实现使用多页文本创建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) 这是发生崩溃的代码:-
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) 我正在inputAccessoryView使用UIViewController. 一切正常,直到我改变UIWindows rootViewController。之后,safeAreaInsets肖像被报告为风景,反之亦然。
rootViewController仅当从具有键盘输入的位置进行更改时才会发生这种情况。
以下是重现该问题的示例项目:https ://github.com/jcavar/ChangeRootSafeArea
我想这是某种魔法UITextEffectsWindow造成的。我尝试在更改之前完全删除它rootViewController,但随后输入附件视图不再出现。
对此有什么想法吗?
我有带有搜索栏(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正确隐藏了搜索控制器。所以问题是我认为在动画扩展到导航栏时删除搜索控制器
在iOS13之前的应用程序布局无法正常工作。苹果在iOS13.1中最新的深色主题和浅色主题更新后,它们在现有应用程序中面临着许多问题。就像UITextField placeHolder和whiteColor以前是blackColor一样,UIDatePicker textColor和whiteColor以前是blackColor。
谁能帮我解决下面的DatePicker文本颜色问题。这是不可见的,因为whiteColor,TextColor应该为blackColor。
任何帮助表示赞赏。谢谢。
我需要将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) 这类似于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) 请帮忙。
我无法循环 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) 我正在处理 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 ×9
swift ×7
ios13 ×5
autolayout ×1
crash ×1
crashlytics ×1
json ×1
objective-c ×1
pdf ×1
pdfkit ×1
pdfview ×1
swift5 ×1
uidatepicker ×1
uikit ×1
uisearchbar ×1
uitextfield ×1
xcode11 ×1