我正在尝试使用UIPageViewController界面生成器创建一个页面浏览器,它允许显示相邻页面的一部分(也就是窥视).我一直在http://www.appcoda.com/uipageviewcontroller-storyboard-tutorial/上关注一个教程(并将其移植到Swift中)这很简单,但我无法弄清楚要做什么改变UIPageViewController中显示的页面小于屏幕(并居中),并且相邻页面部分显示在屏幕左右两侧.
我试图在IB中调整页面内容视图控制器的大小并使用代码,但页面视图控制器仍将填满整个屏幕.
有没有人知道涵盖此功能的教程或什么是获得所需效果的好方法?
以下来自Bamboo Paper的截图显示了我正在努力实现的目标......

我收到错误:
无效参数不满足:[约束isKindOfClass:[NSLayoutConstraint class]]
对于我用Swift编写的自动布局约束代码:
let d:NSDictionary = ["scrollView": scrollView]
let hc:NSArray = [NSLayoutConstraint.constraintsWithVisualFormat("H:|[scrollView]|", options: NSLayoutFormatOptions.allZeros, metrics: nil, views: d)]
let vc:NSArray = [NSLayoutConstraint.constraintsWithVisualFormat("V:|[scrollView]|", options: NSLayoutFormatOptions.allZeros, metrics: nil, views: d)]
view.addConstraints(hc)
view.addConstraints(vc)
Run Code Online (Sandbox Code Playgroud)
有谁知道这个错误试图告诉我什么?据我所知,参数是NSArray带有NSLayoutConstraint对象的类型.我怀疑我必须明确定义数组,NSArray但这并没有解决它.
我试图找出一个正则表达式替换特定字符包围的文本部分...看看这个例子:
\|(.+)\|
Run Code Online (Sandbox Code Playgroud)
它找到放在两条垂直线(|)之间的任何文本,如果它在其工作的文本中只有一次出现,但是如果有两个或更多,它将找到所有文本位于第一个找到的文本之间.最后找到了| ...
Lorem ipsum dolor sit amet, |consectetur| adipiscing elit. Aliquam nec |tortor lectus|. Nunc sodales ornare varius. Quisque pharetra porttitor ligula.
Run Code Online (Sandbox Code Playgroud)
...但是在示例文本中,我只想找到'consectetur'和'tortor lectus'.如何改进regexp以排除中间的所有文本?
正如标题所说,我正在尝试在Safari浏览器中记录Xcode 9中XCUITest的测试自动化步骤.我们的应用程序在外部浏览器中打开了一些链接,我们需要在开始网页上测试一些元素.
但每当我尝试使用Xcode和Safari打开步骤时,我会点击一些网页元素和Xcode崩溃.
任何帮助如何使这个工作?我知道Xcode 9中的新自动化功能可以承诺多应用程序测试.
对于使用 Xcode 8 构建的 iOS,是否可以将生成的 .dSYM 文件包含到 .ipa 文件中?
我正在像这样构建我的 ipa 文件(在 Jenkins 中,但应该无关紧要)......
# Create xarchive
xcodebuild
-workspace /sourcepath/myapp.xcworkspace
-sdk iphoneos
-scheme 'Distribution Production'
-configuration 'Distribution Production'
-archivePath '/outputpath/Distribution Production-iphoneos/myapp.xcarchive'
'CODE_SIGN_IDENTITY=********'
'PROVISIONING_PROFILE=App Enterprise PRD'
DEBUG_INFORMATION_FORMAT=dwarf-with-dsym
archive
# Create IPA
xcodebuild
-exportArchive
-archivePath '/outputpath/Distribution Production-iphoneos/myapp.xcarchive'
-exportOptionsPlist '/outputpath/Distribution Production-iphoneos/export_options.plist'
-exportPath '/outputpath/Distribution Production-iphoneos'
Run Code Online (Sandbox Code Playgroud)
这将生成一个 xarchive,最后生成一个 ipa 文件。然后 xarchive 包含 .dSYM 文件,但我希望在 IPA 文件中包含 .dSYM。这可能吗?
在创建 xarchive 时,我还尝试使用这些参数:
'DWARF_DSYM_FOLDER_PATH=/outputpath/Distribution Production-iphoneos'
'DWARF_DSYM_FILE_NAME=Distribution Production.dSYM'
Run Code Online (Sandbox Code Playgroud)
...但是 xarchive 不包含 dSYM,并且在其他任何地方都找不到。
每当我执行以下操作时pod install,都会收到此警告:
[!] Podfile包含框架目标,但Podfile不包含主机目标(嵌入框架的目标)。如果该项目用于框架开发,则可以忽略此消息。否则,将目标添加到嵌入这些框架的Podfile中,以使此消息消失(例如,测试目标)。
我的项目是针对框架开发的,警告说我可以忽略它,但是我讨厌不需要警告的东西出现的警告,那么是否有任何解决方法可以消除此警告?
我的Podfile看起来像这样:
workspace 'myworkspace.xcworkspace'
platform :ios, '10.0'
target 'framework' do
use_frameworks!
project 'framework/framework.xcodeproj'
pod 'Alamofire', '~> 4.5', :inhibit_warnings => true
pod 'Serpent', '~> 1.0', :inhibit_warnings => true
end
target 'demo-objc-uitests' do
use_frameworks!
inherit! :search_paths
project 'demo-objc/demo-objc.xcodeproj'
pod 'Alamofire', '~> 4.5', :inhibit_warnings => true
pod 'Serpent', '~> 1.0', :inhibit_warnings => true
pod 'myframework', :path => 'myframework.podspec'
end
target 'demo-swift-uitests' do
use_frameworks!
inherit! :search_paths
project 'demo-swift/demo-swift.xcodeproj'
pod 'Alamofire', '~> 4.5', :inhibit_warnings => true
pod 'Serpent', '~> …Run Code Online (Sandbox Code Playgroud) 我想从标准文本文件中获取文本并将其插入到由Apache Ant替换为令牌的XML中.这可能吗?
示例(这是我到目前为止使用的):
<macrodef name="generateUpdateFile">
<sequential>
<echo message="Generating update file ..." level="info"/>
<copy file="update.xml" tofile="${path.pub}/update.xml" overwrite="true">
<filterchain>
<replacetokens>
<token key="app_version" value="${app.version}"/>
<token key="app_updatenotes" value="${app.updatenotes}"/>
</replacetokens>
</filterchain>
</copy>
</sequential>
</macrodef>
Run Code Online (Sandbox Code Playgroud)
$ {app.updatenotes}当前是在build.properties文件中定义的字符串.但我想在一个简单的文本文件中编写更新说明并从那里获取它们.
我刚刚经历了一些从Beta3开始显然已经过时的Swift tuts ......
func exchange<T>(data:[T], i:Int, j:Int)
{
let temp = data[i];
data[i] = data[j];
data[j] = temp;
}
Run Code Online (Sandbox Code Playgroud)
游乐场告诉我:
错误:@lvalue $ T8与T不同.
如何更改它以使其工作?
我正在尝试将Xcode 6故事板上的两个不同的视图控制器与链接起来,NSContainerView以便可以有条件地切换它们。不幸的是,这里的本教程没有任何帮助,因为自Xcode以来,情况似乎已发生变化。
因此,我有两个不同的视图控制器,默认情况下其中一个已加载到容器视图中,但是我希望能够以编程方式将第二个视图控制器加载到容器视图中。Xcode 6仅允许在我从一个拖动到另一个时创建嵌入Segues,所以并没有太大帮助。
有人可以告诉我Xcode 6是如何实现的吗?
我需要一种快速方法来查找字符串中可能出现的搜索词的所有索引。我尝试了这种“暴力”String扩展方法:
// Note: makes use of ExSwift
extension String
{
var length: Int { return count(self) }
func indicesOf(searchTerm:String) -> [Int] {
var indices = [Int]()
for i in 0 ..< self.length {
let segment = self[i ... (i + searchTerm.length - 1)]
if (segment == searchTerm) {
indices.append(i)
}
}
return indices;
}
}
Run Code Online (Sandbox Code Playgroud)
...但是速度慢得离谱,尤其是搜索词越短。快速找到所有索引的更好方法是什么?