所以我基本上有一个表单,由几个文本字段组成.用户像往常一样键入字段.但是用户还可以选择双击文本字段,该文本字段呈现模态视图控制器,允许用户从与该字段相关的多个选项中进行选择.
我可以以某种方式呈现模式"在键盘上",这样当它被解除时,键盘仍然是活动的,因为在我呈现模态之前已经是第一响应者的字段?
现在,键盘在模态出现时解散,并在模态被解除时重新出现.它看起来很笨重,而且分散注意力.希望精简它,并减少屏幕上的动画量.
所以我有一个UITextView,并在viewDidLoad中我旋转它的图层,使它看起来倾斜回屏幕(有点像星球大战开放爬行).
问题是滚动都搞砸了.向上拖动会滚动一点,然后向后跳或类似; 在模拟器上它甚至会因为包含NaN的坐标的错误而崩溃.
同样,当我尝试自动滚动UITextView时,[UIView animateWithDuration:...]我也会遇到意外的跳过,混蛋等.
我认为这有什么做的事实,我操纵的层,但触控事件以及动画上注册的观点...或者类似的东西?
无论如何,我很难过.
我有一个小部件,它可以在一天中定期从服务器检索更新,但是如果用户实际查看它,则希望它立即再次更新.这总是在iOS 8/9中运行良好... viewWillAppear特别是当视图即将出现时触发.
但在iOS 10中,它似乎也会在其他时间发生.不知道什么时候.但突然间,我在更新服务上获得了大约5倍的点击量,这是一项付费服务,所以这是一个真正的问题.
在Today小部件上,有没有办法保证小部件实际可见?或者,至少,今日视图实际上是可见的?
我正在使用iOS 8中的UIActivityViewController.我已经构建了一个自定义的Pinterest共享机制,它在iOS 7中运行得非常好 - 特别是它将一个图像上传到我的服务器,然后创建一个带有该图像的Pin和一个我的URL指定.这是所需的功能.
现在,在iOS 8的,Pinterest的实施了自己的共享资源,它接受任何一个URL 或图像.如果活动项目列表中包含URL,则共享者弹出并询问用户他/她想要从该URL的页面共享哪个图像,并完全忽略同样位于活动项目列表中的图像.如果没有URL,只有图像,则上传的图钉不包含URL.
为了解决这个问题,我需要做以下事情之一:
或者,如果一切都失败了,这将是有用的,至少能够检测,如果用户选择了在他们的列表中显示Pinterest的的共享者.
有谁知道有没有办法实现这些东西?
我有一个应用程序,要求在部分透明的周围绘制一个纯黑色轮廓UIImage.不是在图像的框架周围,而是围绕图像本身的所有不透明部分.即,想到一个透明的PNG,上面有一个不透明的白色"X" - 我需要用黑色勾勒出"X".
为了使问题更棘手,在绘制轮廓之后,将调整原始图像的不透明度,但轮廓必须保持不透明 - 因此我生成的轮廓必须仅包括轮廓,而不包括原始图像.
我目前的技术是这样的:
UIView具有原始图像尺寸的新元素.UIImage4次并将重复项添加为子视图UIView,每个UIImage偏移量从原始位置沿对角线偏移几个像素.UIView转换为图像(通过典型UIGraphicsGetImageFromCurrentImageContext方法).CGImageMaskCreate和CGImageCreateWithMask从这个新图像中减去原始图像,只剩下轮廓.有用.即使只有4个偏移图像,结果看起来也很不错.然而,它的效率非常低,并且在iPhone 4上造成了4秒的良好稳定延迟.
所以我需要的是一个很好,快速,有效的方法来实现同样的东西,iOS 4.0完全支持.
有什么好主意吗?:)
有什么方法可以 (a) 禁止节点应用程序使用require/import全局安装的 npm 模块,或者 (b) 至少在使用全局安装的模块时输出警告?
原因是:我一再遇到这样的情况:开发人员(包括我自己)在节点应用程序中合并了一个模块但未能将其添加到其中,package.json因为它恰好是全局安装在他们的机器上,因此本地没有错误机器; 但是在部署到没有全局安装该模块的系统时,它当然会失败。只需确保所有模块实际上都包含在package.json.
我UIImagePickerController让用户从图像库中选择一个图像,并通过该didFinishPickingMediaWithInfo方法获得结果.
我需要能够将生成的图像保存到磁盘(在应用程序的文档文件夹中),并在以后重新加载.
问题是我无法判断是将其存储为PNG还是JPEG.我不能总是将它存储为PNG,因为对于较大的照片,它的速度很慢(更不用说我必须单独处理存储图像方向).我不能总是将它存储为JPEG,因为在某些情况下,图像具有透明度,如果我这样做会丢失.
我已经检查了UIImagePickerControllerMediaType图像选择器返回的信息字典中的键,无论我选择了PNG还是JPEG,返回的是"image.public".
所以...
有没有办法知道用户是否选择了PNG?也许只是检查图像是否有任何透明度的某种方法?
谢谢.
我有一个使用自动布局构建的故事板.在那个故事板中,我在几个位置嵌入了一个UIViewController子类(ButtonGridViewController),每个位置都有不同的大小. ButtonGridViewController的视图是用xib定义的.
我需要的是整个ButtonGridViewController视图只是缩放以填充我嵌入它的视图.使用旧的struts-and-spring方法,这是微不足道的 - 只需将所有子视图设置为调整大小在两个方向,瞧,小菜一碟.
如何使用约束完成相同的操作?对于它的价值,xib只包含一个主视图,它是矩形的,有4个子视图 - 每个按钮 - 排列成2x2网格.我想要所有东西,包括按钮和间距,来缩放和/或拉伸以填充它进入的视图.
谢谢!
我有一个UIActivityViewController允许用户将他们创建的图像分享到几种活动类型之一(Facebook,Twitter,保存到相机胶卷,打印等).
由于我希望图像以不同的质量水平保存/发送,具体取决于活动(打印的高分辨率,推特的低分辨率),我使用自定义UIActivityItemProvider(duh)提供图像.
渲染高分辨率版本需要一些时间,所以我想在它正在做它的事情时显示一个活动指示器.实际上,苹果文档提到了这样做.
但我似乎无法找出"正确"的地方来显示我的进度指示器...他们应该去哪里?
更新:
在- (id) activityViewController:(UIActivityViewController *)activityViewController itemForActivityType:(NSString *)activityType方法中尝试以下内容:
[self performSelectorOnMainThread:@selector(startSpinnerWithMessage:) withObject:message waitUntilDone:YES];
self.shareImage = [self.delegate imageForActivityOfType:activityType]; // code that actually generates the image; takes a while.
[self performSelectorOnMainThread:@selector(endSpinner) withObject:nil waitUntilDone:YES];
Run Code Online (Sandbox Code Playgroud)
......不做这个工作.当我点击活动按钮时,UI会在生成图像时冻结,然后当它完成时,我会看到微调器一瞬间然后消失.
我认为endSpinner调用的定位是有道理的......然而,似乎startSpinner调用需要去其他地方.不知道该怎么做.
我正在尝试开发一个基于地图的可视化,其中包含一个子群体的"热图",基于包含以下文档的MongoDB集合:
{
"PlaceName" : "Boston",
"Location" : {
"type" : "Point",
"coordinates" : [ 42.358056, -71.063611 ]
},
"Subpopulations": {
"Age": {
"0_4" : 37122,
"6_11" : 33167,
"12_17" : 35464,
"18_24" : 130885,
"25_34" : 127058,
"34_44" : 79092,
"45_54" : 72076,
"55_64" : 59766,
"65_74" : 33997,
"75_84" : 20219,
"85_" : 9057
}
}
}
Run Code Online (Sandbox Code Playgroud)
数据库中有数十万个单独的位置.它们不重叠 - 即"纽约市"和"曼哈顿"不会有两个单独的条目.
目标是使用Leaflet.js和一些插件来呈现此数据的各种可视化.Leaflet非常擅长聚类数据客户端 - 所以如果我通过密度值传递了千个位置,它可以通过处理所有单个值来渲染相关区域的热图.
问题是,我说缩小地图以显示整个世界.如果不是不可能的话,将所有数据发送到客户端并使其足够快地处理该信息以实现平滑可视化将是非常低效的.
所以我需要做的是自动集群数据服务器端,我希望可以在MongoDB查询中完成.我已经读过,geohashing可能是确定哪些点属于哪些集群的一个很好的起点,但我确信有人之前已经完成了这个问题并且可能有更好的洞察力.理想情况下,我想向我的node.js脚本发送一个查询,如下所示:
http://myserver.com/popdata?top=42.48&left=-80.57&bottom=37.42&right=-62.55&stat=Age&value=6_11
Run Code Online (Sandbox Code Playgroud)
这将根据要返回的数据点的最大数量或沿着这些线的某些内容,根据指定地理区域内有多少个点来确定聚类需要多少粒度; 它将返回如下数据:
[
{ "clusterlocation": [ 42.304, -72.622 ], …Run Code Online (Sandbox Code Playgroud) ios ×8
objective-c ×4
node.js ×2
uiactivity ×2
uiimage ×2
autolayout ×1
geohashing ×1
geolocation ×1
graphics ×1
ios10 ×1
ios8 ×1
leaflet ×1
mongodb ×1
npm ×1
pinterest ×1
uitextfield ×1
uitextview ×1
xib ×1