图 1 是应用程序的屏幕截图,图 2 是原始图像。原始图像位于Xcode的Asset文件中。如您所见,图像中的设计与原始图像有所不同。我对此进行了研究,似乎 Xcode 上的压缩正在发生变化,但是压缩如何以这种方式改变图像呢?我在图像资源中选择了“渲染为”-“原始图像”和“压缩”-“无损”,但没有帮助。

我正在使用一个按钮来填充UIPickerView隐藏的内容UIVisualEffectView.用户单击按钮,VisualEffectView模糊其他所有内容,并PickerView显示其联系人列表中的所有名称(我正在使用SwiftAddressBook执行此操作.)
这很好用,除非用户单击按钮,UI会锁定大约5-10秒.我找不到任何CPU或内存使用量很大的证据.如果我只是将已排序的数组打印到控制台,它几乎立即发生.所以关于显示窗口的事情导致了这个错误.
@IBAction func getBffContacts(sender: AnyObject) {
swiftAddressBook?.requestAccessWithCompletion({ (success, error) -> Void in
if success {
if let people = swiftAddressBook?.allPeople {
self.pickerDataSource = [String]()
for person in people {
if (person.firstName != nil && person.lastName != nil) {
//println("\(person.firstName!) \(person.lastName!)")
self.pickerDataSource.append(person.firstName!)
}
}
//println(self.pickerDataSource)
println("done")
self.sortedNames = self.pickerDataSource.sorted { $0.localizedCaseInsensitiveCompare($1) == NSComparisonResult.OrderedAscending }
self.pickerView.reloadAllComponents()
self.blurView.hidden = false
}
}
else {
//no success, access denied. Optionally evaluate error
} …Run Code Online (Sandbox Code Playgroud) 当用户在我的应用程序中登录facebook时,某些预期值(如dateOfBirth,email)可能为零.我想将self.fbResponse.email的值设置为NSNull(),如果它是nil.这样我就可以将参数发布到服务器了.
let parameter:[String:AnyObject] =
[
"facebookId":self.fbResponse.fbID!,
"fbToken":"randomToken",
"email" : self.fbResponse.email!,
"dateOfBirth": self.fbResponse.dob,
"gender" : self.fbResponse.gender!,
"info": self.fbResponse.aboutMe!,
"fullName":self.fbResponse.fullName!,
"profileImageUrl":self.fbResponse.pictureURL!
"location": location
]
Run Code Online (Sandbox Code Playgroud) 我是Kotlin的新手,我从一个教程尝试了RecycleView实现,但是得到了这个
class MainAdapter: RecyclerView.Adapter<CustomViewHolder>() {
val videoTitles = listOf("First Title","Second","Third")
override fun getItemCount(): Int {
return videoTitles.size
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): CustomViewHolder {
val layoutInflater = LayoutInflater.from(parent.context)
val cellForRow = layoutInflater.inflate(R.layout.video_row,parent,false)
return CustomViewHolder(cellForRow)
}
override fun onBindViewHolder(holder: CustomViewHolder?, position: Int) {
val videoTitle = videoTitles.get(position)
holder.view.textView_video_title.text = videoTitle
}
}
class CustomViewHolder(val view: View): RecyclerView.ViewHolder(view){
}
Run Code Online (Sandbox Code Playgroud)
我正在使用Android Studio 3.4,是否会导致错误?