我有一个带有一些UIViews的UIViewController(使用Interface Builder构建),包括一个我想用作WKWebView的UIViewController.我已经能够创建WKWebView并将其作为子视图加载到其中一个UIViews - 但是当我加载URL时,我在顶部和左侧得到这个奇怪的填充.当我使用UIWebView但是能够使用它来解决它时,我遇到了同样的问题
self.automaticallyAdjustsScrollViewInsets = false;
Run Code Online (Sandbox Code Playgroud)
但是,这对于动态加载的WKWebView似乎没有任何帮助.
从网上加载页面时我也得到相同的填充,所以我知道它不在我的本地html中.
编辑:我开始怀疑容器UIView中的autolayout是否导致了这个...
这是相关代码:
var webView:WKWebView!
@IBOutlet var containerView : UIView?
@IBOutlet weak var webContainer: UIView!
override func loadView() {
super.loadView()
self.webView = WKWebView()
if(self.webView != nil){
self.containerView = self.webView!
self.containerView!.frame = self.webContainer.frame
self.webContainer.addSubview(self.containerView!)
}
}
override func viewDidLoad() {
super.viewDidLoad()
let bundle = NSBundle.mainBundle()
let url = bundle.URLForResource("index", withExtension: "html")
let request = NSURLRequest(URL: url!)
webView.loadRequest(request)
}
Run Code Online (Sandbox Code Playgroud)
这是它的样子.UIView容器的BG颜色是深灰色 - 你还会注意到html似乎超出了UIView,即使我将WebView的框架设置为与UIView容器相同:
在设计支持库(V 22.2.0)中,我在设置CollapsingToolbarLayout 的expandedTitleTextAppearance和collapsedTitleTextAppearance属性时遇到问题.
例如,如果我这样设置:
<android.support.design.widget.CollapsingToolbarLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_scrollFlags="scroll|exitUntilCollapsed"
app:expandedTitleTextAppearance="@style/TransparentText"
>
Run Code Online (Sandbox Code Playgroud)
和样式看起来像这样:
<style name="TransparentText">
<item name="android:textColor">#00000000</item>
</style>
<style name="GreyText">
<item name="android:textColor">#666666</item>
</style>
Run Code Online (Sandbox Code Playgroud)
文本没有显示但是当我尝试在工具栏折叠后展开工具栏时,应用程序将在Android 4.1上崩溃.
如果我把它设置为:
app:expandedTitleTextAppearance="@style/TransparentText"
app:collapsedTitleTextAppearance="@style/GreyText"
Run Code Online (Sandbox Code Playgroud)
它不再崩溃,但文本在崩溃时不会显示.
我正在使用DesignSupportLibrary(v22.2.0)并希望TabLayout中的选项卡具有相同的宽度 - 无论选项卡文本长度如何.我尝试过MODE_FIXED,但它仍然显示不同宽度的标签.这是xml:
<android.support.design.widget.TabLayout
android:id="@+id/tab_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="?attr/colorPrimary"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:tabMode="fixed"/>
Run Code Online (Sandbox Code Playgroud) 我有一个RecyclerView触发了CollapsingToolbarLayout,当我尝试重新打开4.2.2上的折叠工具栏时,我得到了下面的崩溃.有任何想法吗?
java.lang.IllegalArgumentException: width and height must be > 0
at android.graphics.Bitmap.createBitmap(Bitmap.java:638)
at android.graphics.Bitmap.createBitmap(Bitmap.java:620)
at android.support.design.widget.CollapsingTextHelper.ensureExpandedTexture(CollapsingTextHelper.java:405)
at android.support.design.widget.CollapsingTextHelper.setInterpolatedTextSize(CollapsingTextHelper.java:382)
at android.support.design.widget.CollapsingTextHelper.calculateOffsets(CollapsingTextHelper.java:227)
at android.support.design.widget.CollapsingTextHelper.setExpansionFraction(CollapsingTextHelper.java:203)
at android.support.design.widget.CollapsingToolbarLayout$OffsetUpdateListener.onOffsetChanged(CollapsingToolbarLayout.java:754)
at android.support.design.widget.AppBarLayout$Behavior.dispatchOffsetUpdates(AppBarLayout.java:851)
at android.support.design.widget.AppBarLayout$Behavior.setAppBarTopBottomOffset(AppBarLayout.java:834)
at android.support.design.widget.AppBarLayout$Behavior.scroll(AppBarLayout.java:793)
at android.support.design.widget.AppBarLayout$Behavior.onNestedScroll(AppBarLayout.java:644)
at android.support.design.widget.AppBarLayout$Behavior.onNestedScroll(AppBarLayout.java:583)
at android.support.design.widget.CoordinatorLayout.onNestedScroll(CoordinatorLayout.java:1428)
at android.support.v4.view.ViewParentCompat$ViewParentCompatStubImpl.onNestedScroll(ViewParentCompat.java:97)
at android.support.v4.view.ViewParentCompat.onNestedScroll(ViewParentCompat.java:330)
at android.support.v4.view.NestedScrollingChildHelper.dispatchNestedScroll(NestedScrollingChildHelper.java:162)
at android.support.v7.widget.RecyclerView.dispatchNestedScroll(RecyclerView.java:8306)
at android.support.v7.widget.RecyclerView.scrollByInternal(RecyclerView.java:1387)
at android.support.v7.widget.RecyclerView.onTouchEvent(RecyclerView.java:2209)
at android.view.View.dispatchTouchEvent(View.java:7127)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2170)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1905)
Run Code Online (Sandbox Code Playgroud)
更新:
看起来导致崩溃的库中的方法只检查高度或宽度是否大于0 - 但Bitmap要求两者都> 0:
private void ensureExpandedTexture() {
if(this.mExpandedTitleTexture == null && !this.mExpandedBounds.isEmpty() && !TextUtils.isEmpty(this.mTextToDraw)) {
this.mTextPaint.setTextSize(this.mExpandedTextSize);
this.mTextPaint.setColor(this.mExpandedTextColor);
int w = Math.round(this.mTextPaint.measureText(this.mTextToDraw, 0, this.mTextToDraw.length()));
int h …Run Code Online (Sandbox Code Playgroud)