我(就像其他人一样)遇到了与其他人一样的状态栏重叠问题,有点麻烦,这就是为什么我打开一个关于此的新问题.
似乎有一些机制让UISearchBar知道在哪里定位它自己,这完全没有问题.
jaredsinclair在这里回答(iOS 7状态栏在iPhone应用程序中回到iOS 6默认风格?),详细解释了Apple Engineers如何允许我们为我们的应用程序引入逻辑,以便尽可能地融入用户的环境.
我仔细检查了我的应用程序中的每个UIViewController并进行了最轻微的修改.
在大多数情况下,我能够使用下面的代码来解决问题
// Do any additional setup after loading the view.
if ([self respondsToSelector:@selector(edgesForExtendedLayout)]){
self.edgesForExtendedLayout = UIRectEdgeNone;
}
Run Code Online (Sandbox Code Playgroud)
然而,无论我在隐藏UINavigationBar的特定视图中做什么,这都不会起作用.

基于SO中找到的解决方案,我能够通过向这个特定的UIViewController添加以下逻辑来解决这个问题
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0) {
CGRect statusBarFrame = [[UIApplication sharedApplication] statusBarFrame];
viewFrame.origin.y = viewFrame.origin.y+statusBarFrame.size.height;
}
Run Code Online (Sandbox Code Playgroud)
这会将UIViewController的n个像素向下推"取决于"状态栏的高度.
这里显示了这种效果

问题是,当我进入搜索字段时,UISearchBar会在顶部添加一个20px的填充,从而抵消整个UI.

这让我得出结论,UISearchBar试图调整自己,巧合的是它调整自己与状态栏高度完全相同的数量.
如果我没有破解该位置,一旦我进入搜索字段,则此自动调整将UISearchBar整齐地对齐在状态栏下方.
我希望我已经详细说明了我的困惑,我想知道是否有人对解决方案有任何想法.
我只是用凝视spring-data和spring-data-rest我真的想盘点一下这些工具所提供的优势.在大多数情况下,基本功能非常适合我的用例,但在某些情况下我需要相当多地自定义底层功能,并有选择地分配一些存储库来继承我之后的自定义功能.
为了更好地解释这个问题,spring-data有两个可以继承功能的接口,CrudRepository或者PagingAndSortingRepository.我想添加第三个叫做让我们说PesimisticRepository
所有这些PesimisticRepository都是以不同的方式处理已删除的@Entity的概念.一个被删除的实体是一个地方它删除属性NOT NULL.这意味着可以由a处理的@Entity PesimisticRepository必须具有已删除的属性.
所有这一切都是可能的,几年前我实际已经实现了这一点.(如果您有兴趣,可以在这里查看)
我目前使用spring-data的尝试如下:
延伸的 PagingAndSortingRepository
package com.existanze.xxx.datastore.repositories;
import org.springframework.data.repository.NoRepositoryBean;
import org.springframework.data.repository.PagingAndSortingRepository;
import java.io.Serializable;
@NoRepositoryBean
public interface PesimisticRepository<T,ID extends Serializable> extends PagingAndSortingRepository<T,ID> {
}
Run Code Online (Sandbox Code Playgroud)
为此我提供了一个扩展的默认实现 JPARepository
package com.existanze.xxx.datastore.repositories;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageImpl;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.domain.Specification;
import org.springframework.data.jpa.repository.support.SimpleJpaRepository;
import org.springframework.transaction.annotation.Transactional;
import javax.persistence.EntityManager;
import javax.persistence.TypedQuery;
import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Predicate;
import javax.persistence.criteria.Root;
import …Run Code Online (Sandbox Code Playgroud) 当使用jasperreports-maven-plugin/1.0-beta-2将jrxml文件编译为jasper时,生成的报告不能正确显示unicode字符,它会显示???? 代替.
很明显这是一个字体问题.所以我打开了iReport 4.0.1,并从那里编译了jrxml文件而没有改变任何特定的设置,生成的jasper文件可以很好地显示unicode字符.所以我假设有一些编译时属性,我没有正确设置.
我想过使用jasperreports-maven-plugin插件的标签来定义编译jasper文件时使用的结果编码属性.但我无法找到那里设置的属性.
我从中猜到了一些属性
特别
net.sf.jasperreports.default.pdf.encoding
net.sf.jasperreports.export.character.encoding
Run Code Online (Sandbox Code Playgroud)
但无济于事.
所以我想知道iReport是否使用了一些关于可以在asperreports-maven-plugin mojo中设置的字体,编码或字符集属性的特殊编译选项.
如果这不可能来自这个魔力,那么就是这样.
谢谢