我正在创建的iPhone应用程序从Core Data数据库生成报告,作为CSV文件,然后可以通过电子邮件发送,以便用户可以在应用程序外部的其他地方使用该数据.我还希望能够生成与PDF文件相同的报告(当然,具有更好的格式),允许用户立即打印报告,而不必像CSV文件一样跳过几个环节 - 即打开另一个应用程序(例如Excel,Numbers)然后重新格式化列(因此它们足够宽以便打印),标题加粗等.
基本上,我想提供PDF文件,以便立即为用户提供格式良好的报告,如果他们希望进行数据操作并且需要可编辑的格式,他们只需要导出CSV文件.
我认为最简单的方法是获取CSV文件并将其转换为PDF文件,这与CSV相同,除了包含更好的格式(例如表格布局)而不是简单的逗号分隔格式的CSV文件.我一直无法为此目的找到任何现成的类(以避免重新发明轮子),我不确定如何处理这个问题,因为我对SDK的这方面经验有限.任何有关正确方向的建议或指示都将非常感激.
我需要创建一个具有固定列宽的HTML表,例如每列200px.如果表超过浏览器视口的水平宽度,则应该有水平滚动以查看屏幕外的列.由于表是从数据库动态生成的,因此每次都会有不确定数量的列,因此无法提前定义总表宽.
总之,我正在寻找一种方法来设置一个固定的列宽,然后告诉表水平滚动,如果它用完了水平空间.任何建议,将不胜感激!
我正在使用基于iOS 5故事板的项目.在呈现模态视图控制器时,我选择使用水平翻转过渡.在过渡期间,背景是黑色的,考虑到我的应用程序的设计,这不是特别美观.如何在过渡期间更改背景颜色?
在非故事板项目中,我能够更改MainWindow.xib的背景颜色,但由于此文件不再出现在storyboard项目中,因此无法完成.另外,由于故事板的入口点是UINavigationController,似乎没有任何背景颜色的属性(我怀疑无论如何会产生影响,因为我需要更改的背景颜色与窗口相关联而不是主视图控制器,因为该视图控制器基本上被翻转以显示模态视图控制器).
任何帮助将不胜感激.
这是来自之前的SO问题的后续问题.锚定CSS重复背景图像但是完全不同以作为单独的问题处理.
jsFiddle http://jsfiddle.net/By2xj/演示了这个概念.我有一个横幅图像(中心),然后需要在左侧和右侧重复图像,这将根据浏览器窗口的宽度显示和重复.附带条件是左右图像必须锁定在中央横幅图像的边缘.如果展开jsFiddle结果窗口,则可以看到此效果 - 左右重复图像始终保持锁定在中央横幅图像的一侧,并从该点展开.
所以,这一切都是工作,但我使用了一个表来达到这种效果,因为CSS在之前的堆栈溢出的问题并没有完全工作建议,是有点依赖于浏览器,特别是不与旧的浏览器播放.
使用这个基于表格的解决方案,我希望始终保持中心横幅图像居中,即使浏览器宽度小于横幅.如果减小jsFiddle结果窗口的大小,您将看到当浏览器宽度小于横幅时,横幅会粘到左对齐而不是居中.
所以我的问题是,即使浏览器宽度小于横幅宽度(并包含表格单元格),我如何始终保持中心横幅中心对齐(或者更正确地说,整个表格中心对齐)?
我正在使用Core Data并且有一个NSManagedObject被调用的子类Person(它是Core Data中的一个实体).Person对象具有多个特性(例如firstName,lastName等)和关系(例如friends,coWorkers).其中一些属性是可选的,而其他属性是强制性的.
给定一个Person对象如何有效地确定特定属性或关系是可选的还是强制的?
我想尝试避免必须通过Person对象的每个属性进行某种低效的循环,因为我需要经常调用代码,所以类似于下面的伪代码的东西是完美的:
if ( [[aPerson getProperty:@"firstName"] isOptional] ) {
// do stuff
}
Run Code Online (Sandbox Code Playgroud)
......但我不确定是否可以这样做.上面的伪代码也只会检查属性,所以我猜测在检查属性是一种关系的情况下还需要做其他事情.
我意识到,执行单个循环并将所有必需属性的名称存储在数组中可能更有效(然后只检查该数组是否存在属性名称)这就是我现在正在做的事情,但是不幸的是,它并没有真正适用于我的代码结构(因此需要更多的"按需"方法).
任何帮助将不胜感激 :)
我已成功实现了UITextView一个UITableViewCell.我已经放入UITextField单元格并指定了约束,因此文本视图总是距离单元格的顶部和底部10个点(因此,当单元格大小增加时,文本视图也会增加):

我还包括以下代码(似乎是推荐的iOS 7方式)从文本视图中删除所有内容插入和填充:
expandingTextViewCell.textView.textContainer.lineFragmentPadding = 0;
expandingTextViewCell.textView.textContainerInset = UIEdgeInsetsZero;
Run Code Online (Sandbox Code Playgroud)
所有单元格高度都存储在一个-tableView:heightForRowAtIndexPath:查询数组中.我已经在-textViewDidChange:方法中实现了相关代码,以检查已在文本视图中键入的新文本,重新计算高度,更新数组,然后调用[tableView beginUpdates]并[tableView endUpdates]设置单元格高度更改的动画.这一切都有效,文本视图也调整大小(由于定义的约束):

但是,我无法解决一个问题.当输入足够的文本以导致单元格(和文本视图)展开时,文本视图似乎向上滚动 - 这会切断文本的第一行,并在文本视图的底部创建一个间隙:

您可以在上面的屏幕截图中看到问题.但是,如果我手动将文本视图滚动回到它的正确位置,那么一切都显示正常,我无法向下滚动文本视图以再次获得差距,这个差距现在已经消失:

我将不胜感激任何帮助摆脱细胞/文本视图扩展时出现的差距.从用户的角度来看,我只希望文本视图向下扩展/展开,之前键入的文本保留在原始位置.
我试图消除通过.sheetSwiftUI中呈现的模式视图-由Button,在NavigationViews 内由a调用,navigationBarItems如下所示:
struct ModalView : View {
@Environment(\.presentationMode) var presentationMode
var body: some View {
Button(action: {
self.presentationMode.value.dismiss()
}, label: { Text("Save")})
}
}
struct ContentView : View {
@State var showModal: Bool = false
var body: some View {
NavigationView {
Text("test")
.navigationBarTitle(Text("Navigation Title Text"))
.navigationBarItems(trailing:
Button(action: {
self.showModal = true
}, label: { Text("Add") })
.sheet(isPresented: $showModal, content: { ModalView() })
)
}
}
}
Run Code Online (Sandbox Code Playgroud)
轻击“保存”按钮时,模态不会消失,它只会保留在屏幕上。摆脱它的唯一方法是向下滑动模态。
打印self.presentationMode.value始终显示的值,false …
我正在使用Bootstrap框架进行网站定制.我想确保将来仍然可以升级Bootstrap,因此我没有直接修改LESS文件,而是使用我的特定自定义创建了一组单独的LESS文件(请参阅http://上的"模块化您的更改"部分)coding.smashingmagazine.com/2013/03/12/customizing-bootstrap/).
目前我正在动态编译LESS(纯粹用于开发目的)但是为了性能,我想在将网站投入生产之前将LESS文件编译成CSS.但是,因为我有自定义,所以我担心CSS文件的大小可能非常大,因为除了我的自定义覆盖那些原始属性之外,还会出现原始的CSS属性.
是否有任何"智能"LESS编译器可以进行此检测,并且只包含实际呈现的CSS属性(而不是所有已被覆盖的原始属性)?我希望尽可能减少最终的CSS文件大小.
我有NSString一个用户输入的文本UITextView.因此,字符串可能包含前导和尾随换行符以及字符串中的换行符(如果它们点击Return键以在新行上键入).我想从字符串的开头和结尾删除任何换行符,保留字符串中的任何字符不变.
最好的方法是什么?
ios ×4
css ×3
iphone ×3
html ×2
html-table ×2
core-data ×1
csv ×1
ios5 ×1
less ×1
nsstring ×1
objective-c ×1
pdf ×1
swiftui ×1
uiscrollview ×1
uistoryboard ×1
uitextview ×1
xcode ×1
xhtml ×1