小编Jor*_*n H的帖子

调整UITextField的宽度以填充横向工具栏

在a中UIToolbar,我UITextField在条形图的中间添加了一个(它被添加为a UIBarButtonItem),UIBarButtonItem旁边有另一个(Action按钮).我在最左边和右边添加了灵活的空格键按钮项.它在肖像上看起来很棒,但是当我旋转到横向时它会使它们居中并且看起来不错,但是我需要将文本字段拉伸以填充宽度并将最后一个按钮向右移动 - 就像在消息中一样 - 在iPhone和iPad.

我认为Auto Layout可以解决这个问题,但Apple表示你不能为UIBarButtonItems 创建约束.事实上,当我选择任何条形按钮或文本字段时,它将不允许创建任何约束.

你能告诉我怎么做到这一点吗?谢谢!

在此输入图像描述

编辑:我尝试了一些固定/灵活空间的其他组合.当我不添加任何内容时,文本字段和共享按钮被推到左侧:
在此输入图像描述

如果我改为修复空间,它看起来与上面的0宽度完全相同,或者如果我设置了宽度,那么它显然会将它们推过去.最右边的最后一个空间没有效果 - 它没有固定在最右边,所以它离开了屏幕.

我尝试了左侧的固定空间和右侧的灵活空间,中间的固定空间(或没有中间的空间),它看起来像上面的截图.然后我将中间的一个改为灵活,结果如下:
在此输入图像描述

如果我将第一个更改为灵活,中间没有(或者如果我添加一个固定的),并在右侧flxed,则将其移到右侧:
在此输入图像描述

如果第一个是灵活的,中间是灵活的,右边是固定的,这就是它的外观:
在此输入图像描述

在所有情况下,文本字段的宽度保持与故事板中最初设置的静态值相同.我认为问题在于,当您通过拖动框架设置宽度时,没有蓝色指导要捕捉,因此它将始终保持相同的宽度.

我错过了任何空间组合吗?如果我无法在界面构建器中实现所需的行为,那么如何在代码中实现此目的?

uitextfield uitoolbar uibarbuttonitem ios autolayout

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

启用"显示混合图层"时,UIButton部分为红色

我希望通过在适当的时候使我的视图不透明来提高性能.我有一个UIButton 在模拟器中显示红色 - 它只是按钮文本周围的红色,而不是整个框架.在故事板中,我启用了不透明并将背景颜色从清晰变为白色,但在模拟器中仍显示红色.

如何将其更改为绿色以使其完全不透明而不尝试使用透明度?

请注意,UILabel当您更改背景并且不透明为YES时,s为全绿色.

transparency objective-c opacity uibutton ios

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

如何检测滚动到UICollectionView中的新节?

我正在实现一个无限滚动的日历.我的问题是我想将当前月份设置为导航栏中的标题,并且它应该在滚动时更新 - 一旦您传递了标题标题视图,标题应该在导航栏中更新.

一种可能的解决方案是在被调用的方法中设置视图标题,- (UICollectionReusableView *)collectionView:(UICollectionView *)collectionView viewForSupplementaryElementOfKind:(NSString *)kind atIndexPath:(NSIndexPath *)indexPath这样,当我计算新的节标题时,它也会更新标题.这个问题是当新部分位于页面底部时标题会发生变化.

当前将节标题显示为标题,不是最佳标题

有没有办法知道UICollectionView用户滚动到它后的"当前部分" ?或者您能想出一种改进现有解决方案的方法吗?

为了帮助这篇文章的读者,我在这个GitHub回购中发布了我自己的这个问题的示例代码.

objective-c nsindexpath ios uicollectionview uicollectionreusableview

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

隐藏iOS 9中自定义键盘扩展名上方的工具栏

在iOS 9的iOS 9中,键盘上方有一个工具栏(称为快捷方式栏),提供撤消,重做和粘贴按钮.它在使用系统键盘或第三方键盘时出现,但它不会出现在表情符号键盘上方.我的自定义键盘扩展程序正在使用时,我不希望此工具栏可见,因为我的键盘类似于表情符号键盘.(请注意,我所说的是可以在任何应用中使用的自定义键盘扩展,而不是当文本字段成为您自己应用中的第一响应者时显示的键盘.)那么如何删除它呢?

ios ios-app-extension custom-keyboard

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

CSSearchableItemAttributeSet搜索结果的contentType

我正在构建一个使用CSSearchableItemAttributeSetwith 的应用程序,NSUserActivity以便将项目添加到Spotlight搜索索引中.我正在索引的项目是表情符号,它由表情符号字符本身,描述和显示表情符号的图像组成.我正在创建一个活动,然后将项目属性集绑定到它,这允许我指定缩略图图像.

我的问题是,在这种情况下,内容类型应该是CSSearchableItemAttributeSet什么?

我最初认为它应该是kUTTypeImage.但是图像不是被索引的项目,而是表情符号字符.图像仅提供补充信息.

NSUserActivity *activity = [[NSUserActivity alloc] initWithActivityType:@“com.domain.appname-something"];
activity.title = @“<emoji here>";

CSSearchableItemAttributeSet *contentAttributeSet = [[CSSearchableItemAttributeSet alloc] initWithItemContentType:(NSString *)kUTTypeImage]; //QUESTION: What’s the appropriate contentType?
contentAttributeSet.contentDescription = @"<emoji description here>";
contentAttributeSet.thumbnailData = [self generateEmojiImage];

activity.contentAttributeSet = contentAttributeSet;
Run Code Online (Sandbox Code Playgroud)

ios corespotlight ios-searchapi

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

用UIGraphicsImageRenderer的jpegData替换UIImageJPEGRepresentation

我正在努力当用户需要从相机中的照片添加宽彩色照片在iOS的10支持,我需要使用支持新的色彩空间来保存照片数据的新API - UIGraphicsImageRendererjpegData替代UIImageJPEGRepresentation.

我遇到了一些图像方向的麻烦.在我的iPad上纵向拍照,图像绘制不正确.请参阅以下评论:

旧API:

let image = info[UIImagePickerControllerOriginalImage] as! UIImage
let imageData = UIImageJPEGRepresentation(image, 1)
Run Code Online (Sandbox Code Playgroud)

新API:

let image = info[UIImagePickerControllerOriginalImage] as! UIImage
let cgImage = image.cgImage!
let ciImage = CIImage(cgImage: cgImage)

let format = UIGraphicsImageRendererFormat()
format.scale = 1
format.prefersExtendedRange = true

let renderer = UIGraphicsImageRenderer(bounds: ciImage.extent, format: format)
let imageData = renderer.jpegData(withCompressionQuality: 1, actions: { context in
    context.cgContext.draw(cgImage, in: ciImage.extent) //draws flipped horizontally
    //image.draw(at: .zero) //draws rotated 90 degrees leaving black at bottom
    //image.draw(in: …
Run Code Online (Sandbox Code Playgroud)

uikit cgcontext ios cgcontextdrawimage

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

仅从远程 CloudKit 数据库收到更改时如何收到通知?

我正在使用 Core Data 和 CloudKit 构建一个应用程序。我需要检测远程更改何时已推送到应用程序并且可以在本地数据库中使用以对新数据集执行一些工作。我是.NSPersistentStoreRemoteChange这样实现的:

NotificationCenter.default.addObserver(self, selector: #selector(self.storeRemoteChange(_:)), name: .NSPersistentStoreRemoteChange, object: container.persistentStoreCoordinator)
Run Code Online (Sandbox Code Playgroud)

问题是,即使没有从远程 CloudKit 数据库收到更改,也会收到此通知,例如启动应用程序时 4 次,以及对本地数据库进行修改时。我如何才能知道何时从远程数据库收到更改?

core-data ios cloudkit

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

构建树错误时出错会阻止提交分支

我的Mac上有一个由Xcode管理的本地git存储库.我最近创建了一个新分支,并从那时起进行了很多更改.我正要执行我对这个新分支的第一次提交,并出现了一个错误对话框:

工作副本"app name"无法提交文件.
错误:无效对象100644
888688965 ... for"Supporting Files/animage.png"
错误:构建树时出错

我搜索了Interwebs的解决方案,发现这个问题似乎是同一个问题.我尝试了这个问题的两个答案,但都没有为我解决问题.我已经做了我能想到的所有事情来解决问题,但没有成功.

  • 我试图找到有问题的文件作为答案建议,但/repo/.git/objects/88中没有文件.我也查看了备份(我有每小时的Time Machine备份),但该文件夹中从未有过文件.
  • 我试过git reset --hard,这删除了未提交的更改,但在这样做后,我无法进行简单的更改.显示完全相同的错误消息.
  • 我试图删除错误消息中引用的图像,但是下次我尝试提交相同的错误时会显示引用不同的图像.在废弃所有图像后,它开始列出代码文件.
  • 我尝试创建一个新分支并提交到该分支,但是会出现相同的错误.
  • 我切换到我以前在这个项目上工作的其他分区(文件在Dropbox上同步,这可能是导致问题的原因)并尝试提交只会遇到相同的错误消息.
  • 我最终决定将整个项目恢复到更早的时间点,两个月前我回去之前我甚至做了任何分支,但仍然是一个简单的提交拒绝工作.这让我相信一个外部因素,项目文件夹之外的东西.我知道它当时有效,所以这让我非常困惑.这是出现的错误:

工作副本"app name"无法提交文件.
致命的:无法读取树781d ...

跑完后,git fsck --full我看到树上有几个破碎的链接,很多悬垂的斑点,几个丢失的斑点和两棵失踪的树木.

的结果git for-each-ref --format='%(refname)' | while read ref; do git rev-list --objects $ref >/dev/null || echo "in $ref"; done:
致命:错过blob对象"8886889658056c4ce52d46a485933c8df7a4de84"
参考文献/头/ UniversalStoryboard
缺少blob对象"8886889658056c4ce52d46a485933c8df7a4de84":致命
参考文献/头/ UPDATE1
缺少blob对象"8886889658056c4ce52d46a485933c8df7a4de84":致命
参考文献/头/ IOS的8更新
致命:
在refs/heads/master中丢失了blob对象'8886889658056c4ce52d46a485933c8df7a4de84'

尝试克隆回购后,这是记录的内容:
错误:无法读取appname/Images.xcassets/AppIcon.appiconset/Icon-Small-1.png(86672e7aa0d5ad36563feef30c15a5d31f921802)的
sha1文件错误:无法读取appname的sha1文件/Images.xcassets/AppIcon.appiconset/Icon-Small.png(86672e7aa0d5ad36563feef30c15a5d31f921802)
错误:无法读取appname/Image.xcassets/LaunchImage.launchimage/DefaultPortrait@2x.png(7d97eba35cf392ddb1a705109b721fcd6a20ea29)的
sha1文件错误:无法读取sha1文件appname/appname-Prefix.pch(82a2bb45076d290ce7461b28d5a579e649777779)
致命:无法结帐工作树
警告:克隆成功,但结帐失败.

在这个时候,我愿意做任何事情来防止不得不废弃整个git存储库并重新开始.我不想失去我的分支和历史.我该如何解决这个问题?我有一个项目目录的工作副本,就像我第一次发现错误以及此项目的整个历史记录的Time Machine备份时一样.你能提出的任何建议都表示赞赏.

git version-control

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

防止 EditText 在旋转后聚焦

我已经实现了一个简单的 EditText,它提供了一个完成按钮来隐藏键盘,并且在旋转到横向时它不会为 EditText 显示全屏对话框。但是有一个问题。当我点击完成关闭键盘然后我将设备旋转到横向时,键盘出现。如果我再次关闭它然后旋转到纵向键盘再次出现。

如何在旋转时保留键盘可见性状态 - 如果它在旋转前隐藏,则在旋转后不显示,但如果在旋转前可见,则在旋转后显示?

<EditText
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+id/editText1"
        android:inputType="text"
        android:imeOptions="flagNoFullscreen|actionDone" />
Run Code Online (Sandbox Code Playgroud)

我尝试在父容器(RelativeLayout)中设置android:descendantFocusability="beforeDescendants"android:focusableInTouchMode="true",但这并没有影响这种行为。

keyboard android rotation android-edittext

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

从Docker容器中删除文件后回收磁盘空间

我已经成功地将一个大型数据库备份文件(35 GB)复制到了Docker容器中,并在本地还原了我的数据库(遵循本演练)。我现在想从Docker容器中删除该.bak文件以回收空间。我通过运行来做到这一点,sudo docker exec sql_server rm -rf /var/opt/mssql/backup/example.bak但这并没有回收空间-我的Docker.raw文件仍然保留约76 GB。当我运行docker system df它时,我的容器虽然是45 GB。我试过了,docker system prune -a但是回收了0B。重新启动Docker并不能解决问题。现在已删除文件以获取该空间,我该如何缩小呢?

docker

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