我创建了一个简单的iPhone/Android应用程序,包含一个普通的webview.此webview调用我的网站.
在我的网站上有几种输入类型= text或textarea的表单.当它们位于页面底部时,我遇到了问题!
1)在我的iPhone应用程序中,键盘将自动出现并将文本框推送到手机屏幕的可见区域.所以没有什么可做的.
2)但是在我的Android应用程序中,文本框将保持在同一个位置,并最终被我的键盘隐藏.所以用户唯一的选择是输入"盲".
我怎样才能解决这个问题?有没有其他人遇到这个问题?
我有一个大约有50个UIButton的UIView.所有按钮位置都以像素为单位,相对于我的主UIView的左上角.
视图中使用的所有(背景)图像都具有更高的分辨率.当我将我的应用程序从iPhone移植到iPad时,我想增加UIView的有效像素大小.
现在我正在寻找一种将整个UIView升级2倍的方法.这是否可能在不破坏内部元素的位置的情况下?
仅供参考,UIView是在XCode中的NIB文件中设计的.但是我不介意它是否可以通过编程方式完成.
经过几个小时的试用,我仍然无法向我的应用发送推送通知.这是我到目前为止所做的:
激活服务 https://appdev.microsoft.com
得到了SID,让我们调用它 ms-app://s-1-23-4-12345678901-...-12345678901
收到客户端的秘密,让我们打电话给它 12Lwq7526OqNY8iN-aLkwds23451345
在我的应用程序中,我在某些时候(简化)实现了以下内容:
PushNotificationChannel channel = null;
channel = await PushNotificationChannelManager.CreatePushNotificationChannelForApplicationAsync();
System.Diagnostics.Debug.WriteLine(channel.Uri);
Run Code Online (Sandbox Code Playgroud)这会打印出这种类型的网址:
https://db3.notify.windows.com/?token=AgY7AABrfRCVgRV%2ba4DwoDjC2omrnOVwCkdhCrrzlJi6UpIwHzcig6%2fG5xZfnDqU0%2fXoE848ddiqyTaTlSSltp2Dn9Z3qaPsMAyh7kS%2bmlis1%2bwoh%2b%2b4DsAK1yeV1d9G1rUIuFs%3s
Run Code Online (Sandbox Code Playgroud)我在Package.appxmanifest文件中添加了正确的包名,发布者显示名称和发布者ID
所以我认为我已准备好测试推送通知了.使用我自己的push sharp,fiddler输出实现如下:
要求:
POST https://db3.notify.windows.com/?token=AgY7AABrfRCVgRV%2ba4DwoDjC2omrnOVwCkdhCrrzlJi6UpIwHzcig6%2fG5xZfnDqU0%2fXoE848ddiqyTaTlSSltp2Dn9Z3qaPsMAyh7kS%2bmlis1%2bwoh%2b%2b4DsAK1yeV1d9G1rUIuFs%3s HTTP/1.1
X-WNS-Type: wns/toast
Authorization: Bearer EgAC4AA1hAZAQMAklDAAEgAAAUe8/AGsK8a/yk78/WEDQf+KUld/nYIvJ51OIoCPgAfwqbl0oo1sPDLhd9ChiO/iLFVzwlTPE3trp9oTkJxNXi0yUrf+FKjRciq7Utek9B/4dxH9lFNy0R5iwdMS0xNS0yLTIyNDgyMDE1NzEtMjczODcxMjkyMy0yMzM3MbsS59ZuQmXCIAFoOiAAAAAAAgzMOTB7OuFIezrhS60gEAAoANS45LjYuMTBiPoPMh3Nj5MAEOp0RhrcMUx6D50AtDuzWE1AAAAAABeAG1zLWiwcDovL3MtTk2Nzk3LTEzOTYwNDkxODYtMjEyODYwMTQ3MS04MDg1MDg2ODUtMzY3NjQyNTk3OQA=
Content-Type: text/xml
Host: db3.notify.windows.com
Content-Length: 138
<toast>
<visual>
<binding template="ToastText01">
<text id="1">This is a test</text>
</binding>
</visual>
</toast>
Run Code Online (Sandbox Code Playgroud)
回答
HTTP/1.1 403 Forbidden
Content-Length: 0
X-WNS-ERROR-DESCRIPTION: Channel URL incompatible with caller app
X-WNS-MSG-ID: 5FC550364E079585
X-WNS-DEBUG-TRACE: DB3WNS4011533
Date: Mon, 23 Dec 2013 23:58:22 GMT
Run Code Online (Sandbox Code Playgroud)我发现此帖子频道网址到目前为止与来电应用程序不兼容,这实际上并没有帮助
我使用 …
我的目标是在iPhone应用程序顶部的状态栏上方绘制一个隐形按钮(尺寸为320*20像素).
无论我尝试什么,都会出现问题:
例如,我尝试创建一个新视图.当我想将视图放在我的应用程序顶部时,它总是消失在状态栏后面而不是在它前面!
我在Stackoverflow上找到了另一个好主意: 将UIView添加到所有其他视图之上,包括StatusBar 即使不推荐第二个UIWindow,我也尝试实现它.它直到我注意到一个问题时才按照我想要的方式工作:键盘在需要时不再出现(例如在文本框中单击时)!
我怎么可能解决这个问题?或者有更好的解决方法吗?这是我创建第二个窗口的代码:
// Create window
statusWindow = [[UIWindow alloc] initWithFrame:CGRectMake(0,0,320,20)];
statusWindow.windowLevel = UIWindowLevelStatusBar;
[statusWindow makeKeyAndVisible];
// Create statusBarButton
statusBarButton = [UIButton buttonWithType:UIButtonTypeCustom];
CGRect buttonFrame2 = statusBarButton.frame;
buttonFrame2.size = CGSizeMake(320,20);
statusBarButton.frame = buttonFrame2;
[statusBarButton addTarget:self action:@selector(goTop) forControlEvents:UIControlEventTouchUpInside];
// Place button into the new window
[statusWindow addSubview:statusBarButton];
Run Code Online (Sandbox Code Playgroud) 我编写了一个C函数,可以使用WebAssembly从Angular / TypeScript / JavaScript执行:
testWebAssembly() {
Module.ccall("aCFunction", null, [], []); // takes a few seconds to finish
}
Run Code Online (Sandbox Code Playgroud)
此函数需要进行大量的数学计算,并且需要几秒钟才能完成。用户单击按钮时将触发:
<button (click)="testWebAssembly()">Launch C function</button>
Run Code Online (Sandbox Code Playgroud)
是否可以执行该功能,使其不阻止Web应用程序的UI?
我尝试了setTimeOut
/ async
/ Promise
,但似乎无法使其工作。
谢谢!
在我的 TestApp 中,我创建了一个“Carousel”类,它应该让我以一种简单的方式(通过简单地创建类 Carousel 的实例)创建一个带有 UIPageControl 的滑动菜单。
我不知道这是否是正确的方法,但我的示例在我的 TestApp 中运行得很好。页面之间滑动完美,UIPageControl中当前页面的显示是正确的。
如果没有一个问题:UIPageControl 有时会对点击/点击做出反应(到目前为止我只在模拟器中测试过!),有时不会。让我们说大多数时候它没有。我还不知道它什么时候出现,对我来说它只是随机的......
正如你在下面看到的,我添加了
[pageControl addTarget:self action:@selector(pageChange:) forControlEvents:UIControlEventValueChanged];
Run Code Online (Sandbox Code Playgroud)
到我的代码。我认为这可以正确处理水龙头?但不幸的是,pageChange 并不总是被调用(所以 UIPageControl 的值不会在我每次点击时改变)。
我将不胜感激,因为我还没有找到任何解决方案。
这是我到目前为止:
轮播文件
#import <UIKit/UIKit.h>
@interface Carousel : UIView {
UIScrollView *scrollView;
UIPageControl *pageControl;
BOOL pageControlBeingUsed;
}
- (void)addView:(UIView *)view;
- (void)setTotalPages:(NSUInteger)pages;
- (void)setCurrentPage:(NSUInteger)current;
- (void)createPageControlAt:(CGRect)cg;
- (void)createScrollViewAt:(CGRect)cg;
@end
Run Code Online (Sandbox Code Playgroud)
Carousel.m
#import "Carousel.h"
@implementation Carousel
- (id)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if (self) {
// Create a scroll view
scrollView …
Run Code Online (Sandbox Code Playgroud) 我以为我可以通过属性"rate"来检查AVPlayer的状态.
这就是我创建一个播放器实例的方法:
player = AVPlayer(URL: stream) // streaming from the internet
player!.play()
Run Code Online (Sandbox Code Playgroud)
稍后我会做这样的事情
println(player!.rate)
Run Code Online (Sandbox Code Playgroud)
这是我发现的:
您是否知道为什么会发生这种情况以及如何检查流情况呢?
到目前为止我已经尝试了一个观察者:
player!.addObserver(self, forKeyPath: "status", options: NSKeyValueObservingOptions.New, context: nil)
Run Code Online (Sandbox Code Playgroud)
但即使是方法"observeValueForKeyPath"也不会在我的iPhone测试用例中被触发.
在我的应用程序中,我有这样的事情:
用户.ts
export class User { ... }
Run Code Online (Sandbox Code Playgroud)
现在,我这样做:
app.component.ts
callAnotherFunction(User);
Run Code Online (Sandbox Code Playgroud)
如果我将类名作为字符串,我该怎么做"User"
?如果可能,我将如何检查变量是否真的是一个可用的类?
例如:
let test = "User";
if (**test is really a usable class**) {
console.log("Yay!");
callAnotherFunction(**something to put here**);
} else {
console.log("Error!");
}
Run Code Online (Sandbox Code Playgroud)
我不确定这是否可能,但已经感谢您的投入。
到目前为止,我发现的只是这样的例子:
let test = "User";
let user = new window[test]();
Run Code Online (Sandbox Code Playgroud)
但user
随后将是User
. 此外,它似乎在我的 Angular 2 应用程序中不起作用 - 可能是范围错误。如果我想尝试这个,我需要用什么来代替window
?
在过去的几个月里,我发现有几个网站使用某种"小部件".
如果我用我的iPhone打开一个有这个小部件的网站,它将显示一个指向(网站相关的)iPhone应用程序的链接.它看起来像一个包含appname,rating和link的简单div.小部件甚至"知道"我是否已经安装了应用程序.
这个东西总是显示在页面的顶部,看起来总是一样的.Apple是否提供某种小部件/ API,或者是这些链接的创建者?我在网上还没有发现任何关于它的内容......
谢谢你的帮助!
考虑一个简单的 Ionic 页面的内容:
\n\n<ion-content>\n\n <ion-refresher slot="fixed">...</ion-refresher>\n\n <div *ngFor="let item of items">\n ...\n </div>\n\n <ion-infinite-scroll>...</ion-infinite-scroll>\n\n</ion-content>\n
Run Code Online (Sandbox Code Playgroud)\n\n我做了一个 Stackblitz 来演示这个页面: https://stackblitz.com/edit/ionic-v4-angular-tabs-nbjk4k
\n\n现在我想<div>Some content</div>
在页面顶部或底部添加一些固定位置 \xe2\x80\x93 的内容,假设 \xe2\x80\x93 不在ion-header
或ion-footer
部分内。是否可以解决这个问题div
以粘在顶部或底部?
我在 Ionic 文档和 Github 上找到的官方建议是使用slot="fixed"
在内容区域中使用我想要修复的任何元素。
它不知何故对我不起作用,也许与slot="fixed"
复习组件有冲突。
如何实现固定元素?
\nios ×4
angular ×3
html ×2
javascript ×2
keyboard ×2
objective-c ×2
typescript ×2
uiview ×2
android ×1
avplayer ×1
banner ×1
c ×1
c# ×1
class ×1
css ×1
hidden ×1
iphone ×1
mobile ×1
oop ×1
rate ×1
scale ×1
status ×1
statusbar ×1
stream ×1
subview ×1
swipe ×1
textbox ×1
uiscrollview ×1
uiwindow ×1
web ×1
webassembly ×1
webview ×1
windows-8.1 ×1