ã€ãªã³ããŒãžã§ã³:( ãxãã§ãã§ãã¯ããŠãã ããïŒ
[] 1.x
[x] 2.x
[x] 3.x
éä¿¡ããŠããŸã... ïŒãxãã§ãã§ãã¯ããŠãã ããïŒ
[x]ãã°ã¬ããŒã
[]æ©èœãªã¯ãšã¹ã
[]ãµããŒããªã¯ãšã¹ã=>ããã§ã¯ãµããŒããªã¯ãšã¹ããéä¿¡ããªãã§ãã ãããhttps ïŒ http://ionicworldwide.herokuapp.com/ã®ããããã®ãã£ãã«ã䜿çšããŠãã ããã
çŸåšã®åäœïŒ
ããŒããŒããšå
¥åã¹ã¯ããŒã«ã¯ãIonic V1ã«ãŸã§ããã®ãŒããIonicã¢ããªã«ãšã£ãŠé·ãé課é¡ã§ããã æè¿ããããã®ããŒããŒãã®åé¡ã解決ããããšã«éç¹ã眮ããŠããŸãã ããŒããŒããšå
¥åã«é¢ããŠçŸåšç§ãã¡ãæãåªå
ããŠãããšèããåé¡ã¯æ¬¡ã®ãšããã§ãã
çŸåšããã®ãããªãã®ïŒäž»ã«AndroidçšïŒãåŠçãããã¬ãŒã ã¯ãŒã¯ã®ããžãã¯ãå€æŽãã2ã€ã®ã¢ãããŒããšãiOSçšã®ãããã®åé¡ãä¿®æ£ããããã®WKWebViewãã©ã°ã€ã³ãžã®å€æŽã«åãçµãã§ããŸãã ããã§ãiOSçšã®ä¿®æ£ãå«ãŸããWKWebViewãã©ã°ã€ã³ã®ãã©ã³ããã§ããã³ãã¥ããã£ãããããã¹ãããŠãã£ãŒãããã¯ãæäŸã§ããããã«ãªããŸããã ããããã¹ãããæ¹æ³ã«ã€ããŠã®èª¬æãèšèŒãããGoogleããã¥ã¡ã³ããããã«äœæããŸããã ãããã®ä¿®æ£ã«ã€ããŠãã£ãŒãããã¯ããå¯ããã ããã ãã®åé¡ãžã®ã³ã¡ã³ããšããŠãã£ãŒãããã¯ããæ°è»œã«æäŸããŠãã ããã ã¿ããªIonicã䜿ã£ãŠãããŠããããšãïŒ
ç§ã®å ŽåãAppModuleãã€ã³ããŒãã®äžã«è¿œå ãããšãããã©ã«ããããæ¯èŒçåªãããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãåŸãããŸãã
IonicModule.forRoot(MyApp, {
scrollPadding: false,
scrollAssist: true,
autoFocusAssist: false
}),
ç¥ã«æè¬ããŸãæåŸã«ç¥ããçããããŸã
Androidã§ãã¹ãããæ¹æ³ã¯ïŒ
ç§ãã¡ã¯AndroidãŸãã¯ãã¹ã¯ãããã®ããã«ãã€ã§ãåãã§ãæäŒãããŸãã :)
ãã@ mburger81 ããã質åã ïŒ ionic-angularã®æŽæ°ããããã€ããªãŒããŒãžã§ã³ã¯ãŸã ãããŸãããããªãªãŒã¹æã«ãAndroidã§ãã¹ãããããã«ã€ã³ã¹ããŒã«ããæ¹æ³ã®èª¬æã§ãã®åé¡ãæŽæ°ããŸãã
ããŠãç§ãã¡ã¯ããã€ãã®å
¥åã¹ã¯ããŒã«ã®åé¡ããããã°ã€ã³ããŒãžã«åãçµãã§ããŸãã
確èªã§ãããšæããŸãã
åèãŸã§ã«ããã¹ãããŠãã¹ã¿ãŒã«ââãªãªãŒã¹ããåã«ãINVALID VIEWSãã°ïŒãã€ã«ã¹ããŒã³ã«æºè¶³ïŒã解決ããå¿ èŠããããŸããããã¯ç§ãã¡ã«ãšã£ãŠé倧ãªåé¡ã§ããããã§ãã
ãã£ãïŒ ã§ã¯ãå ¥åã¹ã¯ããŒã«ã®åé¡ã«ã€ããŠãããŒããŒããéãããšãã«ã«ããŒãããªããã¥ãŒã®é åã«å ¥åãé 眮ããŠã¿ãŠãã ããã
ããã¯è¯ãèãã§ãã ã¹ã¯ããŒã«ãããšãã¯ãã«ãŒãœã«ãããŒã®åŸãã«ç§»åããªãããã«ããå¿ èŠããããŸã
ã¹ã¯ããŒã«æã«ã«ãŒãœã«ãã€ãªã³ããããŒããããã¯ããªãã£ãããšã確èªããå¿ èŠããããŸã
ããŒã ã¡ã³ããŒã®1人@danbucholtzããã®iOSãã£ãŒãããã¯ïŒ
ãã©ãŒã å ã§é垞䜿çšãããªãåã ã®ã³ã³ãããŒã«ïŒæ€çŽ¢å ¥åãªã©ïŒã§ããéä¿¡ããŸãã¯ãå ¥åãã§ããŒããŒããéããããšã調æ»ã§ããŸããïŒ
ããã²ãŒã·ã§ã³ã¢ã¯ã·ã§ã³ãå®è¡ãããšããããŒããŒããéããŠãããšãããŒããŒãã¯èªåçã«éããããŸãã ãªãŒããŒã¬ã€ã«é¢ããŠããã®åäœãåæ€èšããå¿ èŠããããŸãã ããšãã°ãã¢ãŒãã«ãéããŠããŒããŒããéãããŸãŸã«ããå Žåãå€ãã®ãŠãŒã¹ã±ãŒã¹ããããšã¯æ³åã§ããŸããã ActionSheetãAlertãLoadingãModalãPopoverãPickerãToastã¯ãã¹ãŠãæ°ããã¢ã¯ã·ã§ã³ã®éå§ïŒããšãã°ãæéãéžæããïŒãŸãã¯å®äºããã¢ã¯ã·ã§ã³ã«é¢ãããã£ãŒãããã¯ïŒãã©ãŒã ãªã©ã®éä¿¡ãŸãã¯æ€èšŒïŒãæå³ããŸãã ãªãŒããŒã¬ã€ãéãå Žåã¯ãããŒããŒããéããã®ãçã«ããªã£ãŠãããšæããŸãã
chats.html
<ion-footer *ngIf="send.load_spinner==false" class="backgound_send_message">
<ion-toolbar>
<textarea *ngIf="Record.StartRecordGo==false" [(ngModel)]="you_comment" (keydown)="handleKeyDown($event)" (focus)="scrollTobottom()" placeholder="{{'chats.message' | translate }}" id="my-textarea0" class="my-textarea" rows="1" autosize></textarea>
<button ion-button clear large color="primary" *ngIf="send.you_comment.length>0" (click)="SendMessageServer(items)"><ion-icon class="SendMess" ios="ios-send-outline" md="md-send"></ion-icon></button>
</ion-toolbar>
</ion-footer>
chats.ts
SendMessageServer(items) {
this.text_message_me.push(this.you_comment);
document.getElementById('my-textarea0').focus(); // The keyboard remains open
}
ãã®ã³ãŒãã¯åäœããŸãïŒOPEN KYEBOARDïŒ
<ion-footer>
<ion-toolbar>
<textarea></textarea>
</ion-footer>
</ion-toolbar>
é«ãã¯ããå€ãããŸããããµã€ãºãå€ãã£ããã¢ãã¡ãŒã·ã§ã³ãäœã£ãã»ããããã§ã
ãããã®èšå®ã®ããã¥ã¡ã³ãããããšããããã®ããŒããŒããšå ¥åé¢é£ã®åé¡ã«å¯ŸåŠããã®ã«åœ¹ç«ã€å ŽåããããŸãããããã3.2.0ãäžè¬ã«å ¬éããããŸã§ã§ãã
ããŒããŒããå ¥åãé衚瀺ã«ããå Žåã«é¢é£ãã解決çã¯ãããŸããïŒ
app.component.tsã®æ¬¡ã®ã³ãŒãã¯ãiOSãšAndroidã®äž¡æ¹ã§ãããã¿ãŒå ¥åãããŒããŒãã®äžã«çãŸããšããæãŸããå¹æãçã¿åºããŸããã äœããã®çç±ã§ãAndroidã®ã¹ããŒã¿ã¹ããŒãªãŒããŒã¬ã€ã®åäœã¯ãããŒããŒããããŒããŒãã®é«ãããäžã«ããå ¥åèŠçŽ ãé衚瀺ã«ããæ¹æ³ã«åœ±é¿ããŸãã
import {Platform} from "ionic-angular";
import {Keyboard} from "@ionic-native/keyboard";
import {StatusBar} from "@ionic-native/status-bar";
import {SplashScreen} from "@ionic-native/splash-screen";
constructor(platform: Platform,public statusBar: StatusBar, public splashScreen: SplashScreen,
public keyboard: Keyboard) {
platform.ready().then(() => {
if (platform.is("ios")) {
statusBar.overlaysWebView(true);
statusBar.styleBlackTranslucent();
}
splashScreen.hide();
keyboard.hideKeyboardAccessoryBar(false); // use only on a need basis if accessory bar is needed.
.
.
.
}
ã¹ã¯ããŒã«æã«ã«ãŒãœã«ãã€ãªã³ããããŒããããã¯ããªãã£ãããšã確èªããå¿
èŠããããŸã
ïŒ7047ãä¿®æ£ãããå¯èœæ§ã¯ãããŸããïŒ
ããã¯å®éã«ãã©ãŠã¶ã§ã©ã®ããã«æ©èœããŸããïŒ ionicã¯å ¥åãå£ãæ©èœãè¿œå ããŠããã®ã§ããããããããšãããã¯ã¢ãã€ã«ã®å ¥åãã£ãŒã«ãã§ã®é£ããåé¡ã§ããïŒ
ããã¯ç§ã®è§£æ±ºçã§ããããã¯ããŸããããŸãã
hideKeyboardAccessoryBar
ãtrue
this.keyboard.hideKeyboardAccessoryBar(true)
KeyboardAttachDirective.ts
ãã¡ã€ã«ãäœæããimport { Directive, ElementRef, Input } from '@angular/core';
import { Content, Platform } from 'ionic-angular';
import { Keyboard } from '@ionic-native/keyboard';
import { Subscription } from 'rxjs/rx';
/**
* <strong i="15">@name</strong> KeyboardAttachDirective
* <strong i="16">@description</strong>
* The `keyboardAttach` directive will cause an element to float above the
* keyboard when the keyboard shows. Currently only supports the `ion-footer` element.
*
* ### Notes
* - This directive requires [Ionic Native](https://github.com/driftyco/ionic-native)
* and the [Ionic Keyboard Plugin](https://github.com/driftyco/ionic-plugin-keyboard).
* - Currently only tested to work on iOS.
* - If there is an input in your footer, you will need to set
* `Keyboard.disableScroll(true)`.
*
* <strong i="17">@usage</strong>
*
* ```html
* <ion-content #content>
* </ion-content>
*
* <ion-footer [keyboardAttach]="content">
* <ion-toolbar>
* <ion-item>
* <ion-input></ion-input>
* </ion-item>
* </ion-toolbar>
* </ion-footer>
* ```
*/
@Directive({
selector: '[keyboardAttach]'
})
export class KeyboardAttachDirective {
@Input('keyboardAttach') content: Content;
private onShowSubscription: Subscription;
private onHideSubscription: Subscription;
private attachTime = 0;
constructor(
private elementRef: ElementRef,
private platform: Platform,
private keyboard: Keyboard
) {
if (this.platform.is('cordova') && this.platform.is('ios')) {
this.onShowSubscription = this.keyboard.onKeyboardShow().subscribe(e => this.onShow(e));
this.onHideSubscription = this.keyboard.onKeyboardHide().subscribe(() => this.onHide());
}
}
ngOnDestroy() {
if (this.onShowSubscription) {
this.onShowSubscription.unsubscribe();
}
if (this.onHideSubscription) {
this.onHideSubscription.unsubscribe();
}
}
private onShow(e) {
let keyboardHeight: number = e.keyboardHeight || (e.detail && e.detail.keyboardHeight);
if(this.attachTime > 1){
if(
keyboardHeight == 313 ||
keyboardHeight == 258 ||
keyboardHeight == 216 ||
keyboardHeight == 253 ||
keyboardHeight == 226 ||
keyboardHeight == 271 ||
keyboardHeight == 216 ||
keyboardHeight == 264){
this.setElementPosition(0)
}else{
if(this.attachTime > 2){
this.setElementPosition(0)
}else{
this.setElementPosition(keyboardHeight);
}
}
}else{
this.setElementPosition(keyboardHeight);
}
this.attachTime ++
};
private onHide() {
this.setElementPosition(0);
this.attachTime = 0
};
private setElementPosition(pixels: number) {
this.elementRef.nativeElement.style.paddingBottom = pixels + 'px';
this.content.getScrollElement().style.marginBottom = (pixels + 44) + 'px';
this.content.scrollToBottom()
}
}
<ion-header (touchstart)="closeKeyboard()"></ion-header>
...
<ion-content #content (touchstart)="closeKeyboard()"></ion-content>
...
<ion-footer [keyboardAttach]="content" class="messagebar">
<ion-toolbar no-border>
<div class="toolbar-inner">
<div #inputer style="-webkit-user-select: auto;padding:5px;font-size:16px; min-height:1.5em; width:100%;border:1px solid #ccc;background-color:#fff;" contenteditable="plaintext-only" (keyup)="keyup($event)" (focus)="onFocus($event)" (blur)="onBlur($event)"></div>
<button ion-button small (tap)="send()" [disabled]="!msgContent.length">åé</button>
</div>
</ion-toolbar>
</ion-footer>
XXXPage.ts
ããã€ãã®ã¡ãœãããè¿œå ããŸã onBlur(event) {
if (this.keyboardOpen) {
event.target.focus()
}
}
keyup(event){
this.msgContent = event.target.innerText
}
onFocus(event) {
this.keyboardOpen = true
}
closeKeyboard() {
this.keyboardOpen = false
this.keyboard.close()
}
@ lh4111çŽ æŽãããïŒ ããããAndroidã§ãã¹ãããŸãããïŒ ããŸããããªãããã§ãã
@aspidvipãšåãåé¡ããããŸã
@ lh4111ããªãã®è§£æ±ºçã¯äœã§ããïŒ ããããŒã®äžã®å
¥åã®åé¡ã¯è§£æ±ºããŸããïŒ
@kitkimwong androidã§ãã¹ãããŠããŸããããååã¯äŒŒãŠããã¯ãã§ãã
@ mburger81
ion-native/keyboard
ã«ãã£ãŠæäŸãããã¡ãœããthis.keyboard.hideKeyboardAccessoryBar(true)
䜿çšããŠPage
ion-content
padding-bottomãèšå®ããŠã ion-footer
ç§ã®è±èªã¯ããŸãäžæã§ã¯ãããŸããããç解ããã ããã°å¹žãã§ãã
ãšã«ããããã§æåã®ã¹ã¬ããã§èšåãããWKWebViewãã©ã°ã€ã³ã䜿çšããŠããŸããïŒ ãããšããUIWebViewã«é¢ãããããã®ã³ã¡ã³ãã¯ãã¹ãŠã§ããïŒ
@ jgw96iOSããã€ã¹ã§WKWebViewããã¹ãããŸããã ç§ã«ãšã£ãŠã¯å€§å¹ ã«æ¹åãããŸããã å ¥åãã£ãŒã«ããæåŸ ã©ããã«ããŒããŒãã®äžã«ããŸãçãŸãããé ããŠããããã«èŠããŸããæåŸã«è¡šç€ºãããŸãã ããã¯æ¢ç¥ã®åé¡ã§ããïŒ
ããã¯iOSã®ã¿ã§ããïŒ ç§ã¯Androidã§ãã¹ãããŠããŸããããããã§åäœããŸããïŒ
é²é³ïŒ
https://1drv.ms/v/s!AqSDIyRRHLbYazFGbIPhOGLC4sA
ã³ã«ããCLIïŒ6.4.0
Ionic FrameworkããŒãžã§ã³ïŒ3.0.1
Ionic CLIããŒãžã§ã³ïŒ2.1.14
Ionic App LibããŒãžã§ã³ïŒ2.1.7
Ionicã¢ããªã¹ã¯ãªããããŒãžã§ã³ïŒ1.3.0
ios-deployããŒãžã§ã³ïŒ1.9.1
ios-simããŒãžã§ã³ïŒ5.0.12
OSïŒmacOSSierra
ããŒãããŒãžã§ã³ïŒv7.4.0
XcodeããŒãžã§ã³ïŒXcode8.3.2ãã«ãããŒãžã§ã³8E2002
ãã@manucorporatç§ã®ãã¹ãããFYIã äžèšã®æçš¿ãšèšé²ãåç §ããŠãã ããã ç§ãã¡ã®ã¢ããªã¯æ¬è³ªçã«ãã£ããã¢ããªãªã®ã§ãåé¡ã解決ã§ãããšæããã©ãããç¥ãã®ã¯çŽ æŽãããããšã§ãã
@ jgw96 @manucorporatãã®ãã¹ãã®ã¹ããŒã¿ã¹ãšãä¿®æ£brnachããã€æ¬çªç°å¢ã«ç§»è¡ãããã«ã€ããŠã³ã¡ã³ãããŠããã ããŸããïŒ ãŸãã¯ãäœãããå¿ èŠããããŸããïŒ æ¬åœã«ãããããã§ãã
@ jgw96ãã®åé¡ãæŽæ°ããå¯èœæ§ã¯ãããŸããïŒ 3.3.0ãã€ã«ã¹ããŒã³ãéããããã§ãã
ããŒããŒãã®åé¡ã«å¯Ÿããå ¬åŒã®ä¿®æ£ã¯ãããŸããïŒ Ionic 1以éãäœæ¥ããã®ã¯é¢åã§ããããããŒããŒãã»ã©éèŠãªãã®ã«å¯Ÿããå ¬åŒã®ä¿®æ£ã¯ãŸã ãããŸããã
@nuvoPoint LoLãããŒããŒãã®åé¡ã¯ã»ãŒ1ã5幎éç¶ããŠããŸãïŒ
ãããŠã圌ãã¯ãã åé¡ãããã¯ããã ãã§ã..ç¬...
ã ãã.. 1幎åã«ããŒããŒãã®åé¡ã§ã€ãªã³ããããããŸããããããŠä»ãããã«æ»ã£ãŠããŒããŒããä¿®æ£ããããã©ããã確èªããŸãããã芧ã®ãšããããã®1幎éã¯äœã®é²å±ããããŸããã :)
ã·ã³ãã«ãªã¢ããªã®åºæ¬çãªã³ã³ããŒãã³ãã ãšããŠå ¥åããã¯ã¹ã¯ããŠãŒã¶ãŒãšå¯Ÿè©±ããåºæ¬çãªã³ã³ããŒãã³ãã§ãããã®ã²ã©ãåé¡ã§ã¯ãIONICã䜿çšããŠããã€ãã®ç°¡åãªæ å ±ã¢ããªãäœæããããšããã§ã
ãããŠããã©ãŒã©ã ã§ã®è°è«ãèŠãã°ãå€ãã®éçºè
ãåãåé¡ãšçããæã£ãŠããŸãïŒ
Ionicã䜿çšããŠãã£ããã¢ããªã®ãããªåçŽãªãã€ãã£ããæ§ç¯ããããšã¯ã§ããŸããã
çãããããŒããŒãã¯äœæ¥äžã§ãããã¹ããããå Žåã¯ãwkã®cordovaãã©ã°ã€ã³ã«ãã®ããã®ãã©ã³ãããããŸãã
cordova plugin add https://github.com/driftyco/cordova-plugin-wkwebview-engine.git#keyboard-fixes --save
ãããã¯çŸåšã®ä¿®æ£ã§ãïŒ https ïŒ
ãããã€ã³ã¹ããŒã«ããŠã¿ãŠããããè¯ããã©ããã確èªããŠãã ããã ããŒã ã¯ãã£ãŒãããã¯ãæ¢ããŠããŸã
ç·šéïŒ
@AmitMYã©ã®ããã«ãã£ãŒãããã¯ãæçš¿ããŸããïŒ ãã®ã¹ã¬ããã§ã¯ïŒ
iOSããã€ã¹ã§WKWebViewããã¹ãããŸããã ç§ã«ãšã£ãŠã¯å€§å¹ ã«æ¹åãããŸããã
çŸåšã®åé¡ïŒ
å
¥åãã£ãŒã«ããæåŸ
ã©ããã«ããŒããŒãã®äžã«ããŸãçãŸãããé
ããŠããããã«èŠããŸããæåŸã«è¡šç€ºãããŸãã ããã¯æ¢ç¥ã®åé¡ã§ããïŒ
é²é³ïŒ
https://1drv.ms/v/s!AqSDIyRRHLbYazFGbIPhOGLC4sA
ã°ããŒãã«ããã±ãŒãžïŒ
@ ionic / cli-utilsïŒ1.2.0
ã³ã«ããCLIïŒ7.0.1
Ionic CLIïŒ3.2.0
ããŒã«ã«ããã±ãŒãžïŒ
@ ionic / app-scriptsïŒ1.3.7
@ ionic / cli-plugin-cordovaïŒ1.2.1
@ ionic / cli-plugin-ionic-angularïŒ1.2.0
ã³ã«ãããã©ãããã©ãŒã ïŒios 4.4.0
Ionicãã¬ãŒã ã¯ãŒã¯ïŒionic-angular 3.0.1
ã·ã¹ãã ïŒ
ããŒãïŒv7.4.0
OSïŒmacOSSierra
XcodeïŒXcode8.3.2ãã«ãããŒãžã§ã³8E2002
ios-deployïŒ1.9.1
ios-simïŒ5.0.12
@jrmcdonaããã«ãã£ãŒãããã¯ãæçš¿ããå¿
èŠããããšæããŸãã @manucorporatã¯åœŒãã§ãããšãã«ãããèŠã
ã§ããã ããããã§ãã·ã§ãã«ã«ä¿ã€ããã«ããŠãã ãããããšãã°ããããªãããã®ã¯çŽ æŽãããããšã§ããããããªã®äœãééã£ãŠãããã説æããŠãã ããïŒæ¯åé²ç»ãèŠãªããŠãåé¡ã远跡ã§ããããã«ïŒ
ã¿ããšããŒããŒãã®ãªãŒãã³ã®åé¡ãä¿®æ£ããããšã«ã€ããŠäœãåžæã¯ãããŸããïŒ
@ Floyd1256ããªããæã£ãŠãããã¹ãŠã®æ å ±ãšãšãã«ãããã«ãªã³ã¯ããŠãã ããã ãã®ã¹ã¬ããå šäœã¯ããããæ¥é±ã®çµããã«ã¬ãã¥ãŒããããã£ãŒãããã¯ã«åŸã£ãŠä¿®æ£ãè¡ãããŸãã
ã€ãªã³ã¢ããªã«ãã£ããæ©èœãå¿
èŠã§ãã
ãããžã§ã¯ãã§cordova-plugin-wkwebview-engine.gitïŒkeyboard-fixesããã¹ãããŸãããã倧å¹
ãªæ¹åãè¡ãããŸããã
ããã§ãããã€ãã£ãããŒããŒã管çãšæ¯èŒããŠã§ããªãããšããŸã ãããŸãã
ç§ã®åç
§ã¯ç§ã®é»è©±ã®ã¡ãã»ãŒãžã³ã°æ©èœã§ãããããã¯æ倧ã®æåãªãã£ããã¢ããªã§ãåãã§ãïŒ
ã¯ãªãã¯ããŠæ°ããã¡ãã»ãŒãžãæžã蟌ããšãããŒããŒãã衚瀺ãããäžéšã®åºå®å
¥åããã¹ããšæåŸã®ã¡ãã»ãŒãžãããã·ã¥ãããŸãããäžéšã®åºå®ããããŒã¯ããã·ã¥ãããŸããã
ããã·ã¥ã¢ãã¡ãŒã·ã§ã³ã¯ã¹ã ãŒãºã§ãæ°ããã¡ãã»ãŒãžãå
¥åããŠãæåŸã®ã¡ãã»ãŒãžãèŠãããšãã§ããŸãã
äŸãæãããšãSMSãäœæããŠä»»æã®é»è©±ã§éä¿¡ããã ãã§ãã
AndroidãiOSãWindowsããã€ã¹ã®ã€ãªã³ããŒããŒãã§ãåãåäœãããããšæããŸãã
çŸåšã®ã€ãªã³ããŒããŒãã§ã¯ãããã·ã¥ã¢ãã¡ãŒã·ã§ã³ã¯ãããããããŠããŠãããŒããŒãã¯äžéšã®åºå®å
¥åãããã·ã¥ããŸãããæåŸã®ã¡ãã»ãŒãžãã«ããŒããŸãïŒãã¹ãŠã®ããã€ã¹ã§ïŒã
ãã¹ãããã«ã¯ãã€ãªã³ããã¿ãŒã«ããã¹ãå
¥åãè¿œå ããŠããã¹ããå
¥åããã ãã§ãã
課é¡ã¯å€§ããã§ããããšã³ããŠãŒã¶ãŒã¯ããŒããŒãããã®ãŸãŸåãå
¥ããããšã¯ã§ããŸããããã€ãã£ãããŒããŒããšã®ã®ã£ããã¯æçœã§ãã
ããã§ãªããã°ãçŽ æŽãããã€ãªã³ãã¬ãŒã ã¯ãŒã¯ã«æè¬ããŸãã
ãµã€ãºå€æŽæã«ã¢ãã¡ãŒã·ã§ã³ãäœæããããã«æ®ãããããŒããŒããäžã¿ãã«è¡šç€ºããããšãã«ãµã€ãºå€æŽãç¡å¹ã«ããæ©èœã¯è¡šç€ºãããŸããã§ããã ãŸãã¯ãããŒããŒãã衚瀺ãããŠãããšãã«ã¿ãã®è¡šç€ºãç¡å¹ã«ã§ããããã«ããŸã
æè¿æšªã¹ã¯ããŒã«ãæ¶ãã
ã¡ã€ã³ã®Webãã¥ãŒã®äžã«ãã¹ããããWebãã¥ãŒãè¿œå ããããšã§ããã®åé¡ã®èå³æ·±ããã¶ã€ã³ãäœæããŸããã ãã®ãããéçºè
ã¯UIã2ã€ã®ã¬ã€ã€ãŒã«åå²ãããªãã·ã§ã³ããããŸãã1ã€ã¯ã¡ã€ã³ã³ã³ãã³ãçšã§ããã1ã€ã¯ããŒããŒããšåæããå¿
èŠã®ããUIçšã§ãã
@ Khalid-ããŒããŒããäžãããšãã«ãã¡ã€ã³ãã¥ãŒããã®ãã¶ã€ã³ã§æŒãäžããããŠããªãã ãããã£ãŠããã£ããã·ããªãªãŸãã¯SMSã§ã¯ããã¹ãŠã®ã¡ãã»ãŒãžãé èœããŠããŸãã ããšãã°iOSSMSã§ã¯ãã¡ãã»ãŒãžã¯ããã¹ãããã¯ã¹ãšãšãã«éåžžã«ã¹ã ãŒãºã«ããã·ã¥ããããããæåŸã«éä¿¡ãããã¡ãã»ãŒãžããã€ã§ã確èªã§ããŸãã 次ã«ãããã¹ããå ¥åããåŸãããŒããŒãã¯ãããããããå ¥åãç¶ããŠçµäºãããŸã§ããã«çãŸããŸãã å人çã«ã¯ãã€ãªã³ãã¶ã€ã³ã¯iOSãšAndroidãæš¡å£ããå¿ èŠããããšæããŠããŸãïŒãã ããAndroidã䜿çšããããšããªããããAndroidã«ã€ããŠè©±ãããšã¯ã§ããŸããïŒã ãŸããéçºã®èŠ³ç¹ãããããå®çŸããããã®è€éãã«ã€ããŠã¯äœãç¥ããŸãããããããè¿ã¥ãããšãæãã§ããŸãã WKWebViewã§å€§å¹ ã«æ¹åãããŸããã
çŸåšã®ããŒããŒãã®äž»ãªåé¡ã§ãã@jrmcdonaã¯ãããã¿ãŒãããŒããŒãã§ã¹ã ãŒãºã«ã¹ã¯ããŒã«ãããæ¹æ³ã§ãã çŸåšã®ããŒããŒããã©ã°ã€ã³ãšWebãã¥ãŒãçžäºã«ã€ãã³ããéä¿¡ããããšããŠãããããã¢ãã¡ãŒã·ã§ã³ããµã€ãºå€æŽãªã©ã管çã§ããçžäºã«åæãããã®ã¯å°é£ã§ãã ããŒããŒããWebãã¥ãŒã¢ãã¡ãŒã·ã§ã³ãããéãå ŽåããããŸãã ãããã£ãŠãããã§åãäžããããšããŠããã®ã¯ãã¡ã€ã³ãã¥ãŒã®äžã«2çªç®ã®Webãã¥ãŒãæ¿å ¥ããããšã§ãã ãã€ãã£ãã§ã¯ããŒããŒãããããæŒãäžããŸãããã¡ã€ã³Webãã¥ãŒã«ã¯ãéçºè ã®åžæã«å¿ããŠãã¹ã¯ããŒã«ãããã©ãããéžæã§ããã¡ã€ã³ãã¥ãŒã®ã¹ã¯ããŒã«ã¯ä»ã§ã¯åé¡ãªããšæããŸãã ãã£ããã¢ããªã®ãããªãã®ã¯ããã¹ãŠã1ã€ã®ã¬ã€ã€ãŒã«ãããããåé¡ãæ倧éã«æŽ»çšãããã®ã§ãã
ãã©ãŒã©ã ã®èª°ãããããŒããŒãã®åé¡ãå®å
šã«ä¿®æ£ããåªãããã©ã°ã€ã³ããããšèšã£ãŠããŸãã
Https://github.com/EddyVerbruggen/cordova-plugin-native-keyboard
æªããã¥ãŒã¹ã¯ããã®ãã©ã°ã€ã³ãææã§ãããšããããšã§ãã
ãŸããionicã®ãåºå®ããŒããŒããã©ã³ããããã¹ãããã ãã§ãã倧ããªåé¡ãšãŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ã®äœäžããããŸãã
@kitkimwongããªãé«äŸ¡ã§ãããšããäºå®ïŒç¹ã«ã€ãªã³ãç¡æã§ãããšããäºå®ïŒãé€ããŠãèŠæ ããããŸãã @manucorporatããªãã¯ééããªããããèŠãŠãã ãã
ãã®ãã©ã°ã€ã³ã¯ãionicããã¥ã¡ã³ãã«ãªã¹ããããŠããŸãã ä»æ¥ã¯è©ŠããŠã¿ãŠãã©ããªããèŠãŠãããŸãã ç§ãæšæž¬ããããã€ãã®äŒç€Ÿã«ãšã£ãŠã200ãã«ã¯ããã»ã©é«äŸ¡ã§ã¯ãããŸããã éçºè
ã®æéã®2æéã¯ãã®ä»£åãæãã§ãããããããŠç§ã¯ããªãããã©ã°ã€ã³ãªãã§ããŒããŒãããããåãã®ã«äœæéãè²»ããããšãã§ãããšæšæž¬ããŠããŸãã
http://ionicframework.com/docs/native/native-keyboard/誀解ããªãã§ãã ããããããæ¯æããããªãã®ã§ãããç§ã¯ãããããããããŸããïŒ
ãªããžããªãªã³ã¯ïŒ https ïŒ
ãªããžããªã®ã¯ããŒã³ãäœæããåŸã«è¡ãå¿
èŠããããã¹ãŠsh
ionic cordova run ios --prod
ionic cordova run android --prod
ããŒããŒãã®ãªãã·ã§ã³ãšããŠãå®éã®å ¥åãã£ãŒã«ãããã€ãã£ãã«å«ããããšã¯èããããŸããïŒ ããããã°ãDOMã¬ã³ããªã³ã°ãååã«é«éã§ãªãããšã«äŸåãããå ¥åãããŒããŒãã«åºå®ããæ¹ãå®è£ ãç°¡åã«ãªããŸãã
ããã³ããŒãæã£ãŠãããšããã¹ãŠãéã®ããã«èŠããããšããå€ãããšãããæãæµ®ãã³ãŸãã ã§ããããå šäœã«ç°ãªãã¢ãããŒãããšãå¿ èŠããããããããŸããã
@larssnã¯ãææããŒããŒããã©ã°ã€ã³ãè¡ãããšã§ãã ã ããããã¯è¯ãéžæè¢ã®ããã§ãã
@jrmcdonaã¯ãã倧äžå€«ãããããŸããã ãã ãã100ïŒ æ©èœãã瀟å ãœãªã¥ãŒã·ã§ã³ãå¿ èŠã§ãã éå»ã«ãç§ã¯èå»ããããã€ãã®ãã©ã°ã€ã³ã«äŸåããããã«ãªããããããç¶æããããšã¯å°ããªæªå€¢ã§ããã
@larssnã¯ãã©ã°ã€ã³ã®äœ¿çšãææ¡ããŠããŸããã§ããã ãã®èšèšãè¡ãããã®ionicã®ã¢ã€ãã¢ãææ¡ããŠããŸããããããã¯ãã©ã°ã€ã³ãè¡ãããšã§ããããŸãã
çŸåšã®ããŒããŒãã®åé¡ã«ã€ããŠã€ãªã³ããŒã ãããã£ãŒãããã¯ãåŸããããŸã§ã-ææãã©ã°ã€ã³ããã¹ããããå Žåã¯ãããã«ãªããžããªãäœæããŸããã ããããäœããã®çç±ã§æåã«ããŒããŒãã衚瀺ãããããšãã§ããŸããã 衚瀺ããã«ã¯ãå³äžã®[åãæ¿ã]ãã¯ãªãã¯ããå¿ èŠããããŸãã ããŒãžãèªã¿èŸŒãŸãããšãã«è¡šç€ºãããªãçç±ãããããŸããã ãã¢ã®ããã«ã
ç§ã®ããã«åãã解決çïŒ
input
ã®ä»£ããã«ion-input
@SoldierCorpã¯ãæäŸãããWkWebViewãã¹ããã©ã³ãã®ã€ãªã³ãæå³ããŸããïŒ ãŸãã¯UIWebViewïŒ
@jrmcdonaã³ã³ããŒãã³ãã®ãã³ãã¬ãŒãã§ã¯ãhtmlèŠçŽ èªäœã
ãã®ãããã¯ã«é¢ãããã¹ãŠã®ã³ã¡ã³ããšæåŸ
ãèæ
®ããŠãæäŸããããšãèããŠã¿ãŸããã
ããŒããŒããšå
¥åããã¹ããå«ãå°çšã®ãã£ããã³ã³ããŒãã³ãïŒ äžè¬çãªéçºè
ããã©ã°ã€ã³ãäœæããã®ã¯é£ããããŠãããšããããæ¬åœã«çŽ æŽãããããã«èŠããŠãããµãŒãããŒãã£ã®ãã©ã°ã€ã³ã䜿çšããã®ã¯ã€ã©ã€ã©ããã§ãããã
ãã®100ïŒ ã«åæããŸãã 圌ããçŽé¢ããŠããç¹å®ã®è€éãã®ããã«ãããéæã§ããªãå Žåãããã¯ç§ãã¡å šå¡ãç¥ãã®ã«ãæ¬åœã«åœ¹ç«ã¡ãŸãã
@AmitMY @manucorporatWKWebViewãã¹ããã©ã³ãã«ã€ããŠã éä¿¡ãæŒããåŸãããŒããŒããéããªãããã«ããŠãã ããã
iOSã§ã®SMSäŒè©±äžã«è¡šç€ºãããã®ãšåãã§ãã éçºè
ããã®åäœãæãŸãªãå Žåã¯ãããŒããŒãã®closeã¡ãœãããåŒã³åºãããšãã§ããŸãããããã©ã«ãã§ã¯éãããŸãŸã«ããŠããã£ããã·ããªãªäžã«ããŒããŒããäžäžã«ããŠã³ãããããšãªãã¡ãã»ãŒãžãã¬ã¿ã¬ã¿é³Žããããšãã§ããããã«ããå¿
èŠããããŸãã
ãã®ãã©ã³ãã®ã¹ããŒã¿ã¹ã¯ã©ããªã£ãŠããŸããïŒ ããŒããŒãã«é¢ããææ°ãã¥ãŒã¹ã衚瀺ããããšã¯å¯èœã§ããããïŒ @AmitMY @manucorporat @ jgw96
@jrmcdonaããã¯
[email protected]
OKïŒððŒ
@manucorporatãã®ãã«ããååŸããããã«åã«npminstall [email protected]ãå®è¡ããŸããïŒ
ãã£ãŠã¿ãŸãããç¡å¹ã§ããã ããªããç§ã«ãã¹ãããŠæ¬²ãããã«ããé€ããŠããããååŸããæ¹æ³ãããããŸããã
@jrmcdonaã¯npm v ionic-angular versions --json
ãå®è¡ããŠãå
¬éãããŠããããŒãžã§ã³ã確èªããŸã
@jrmcdona
npm install ionic-angular<strong i="7">@nightly</strong>
ããããŸãããŸãã WKWebViewãã¹ããã©ã³ããåé€ããææ°ã®ãã®ãè¿œå ãçŽããŸããã
<plugin name="cordova-plugin-wkwebview-engine" spec="^1.1.3" />
次ã«ãAngularã4.1.3ã«æŽæ°ããŠãæ¯æ©ã€ã³ã¹ããŒã«ã§ããããã«ããŸããã
ãã©ã€ã ã¿ã€ã ã®æºåããŸã æŽã£ãŠããªãããã§ãã WKWebViewãã¹ããã©ã³ãã¯ãçŸåšãããé©åã«åäœããŸããã ãã®ããŒãžã§ã³ã§ã¯ãå ¥åããã¯ã¹ã¯ãŸã£ãã衚瀺ãããŸããã å ¥åã®ãªãããŒããŒãã®ã¿ã ãã¹ããã©ã³ãã§ã¯ãããŒããŒãã¯äžæããŸãããå°ãé ããŸãã çæ³çã§ã¯ãããŸããããæ©èœããŸãã
ããŒããŒãã®ã¬ããããŸãæ©èœããŠãã人ã¯ããŸããïŒ
ããã¯æ¢ç¥ã®åé¡ã§ãããæ¢ç¥ã®åé¡ã®ãªã¹ãã¯ãããŸããïŒ
æ°ããåé¡ããã°ã«èšé²ããå¿
èŠããããŸããïŒ
ããããããªã§ãã
https://1drv.ms/v/s!AnyXOztVClZYbfswP -UEtaHEU0I
ã³ãŒãã¯æ¬¡ã®ãšããã§ãã
<div class="chat-window-container" style="padding-top:20px">
<div class="chat-window">
<div class="message-list">
<chat-message *ngFor="let message of messages | async" [message]="message">
</chat-message>
</div>
<message-input>
<div style="flex:1;padding-left:5px;">
<ion-input [(ngModel)]="draftMessage.text" (keydown.enter)="onEnter($event)" autofocus="" placeholder="Type to chat..." maxlength="2000"></ion-input>
</div>
<div (click)="onEnter($event)" style="display:table;width:50px;height:100%">
<ion-icon name="send" color="primary" class="message-send-icon"></ion-icon>
</div>
</message-input>
</div>
</div>
çããããããšã
@jrmcdonaã¯ãããŸã ãªãªãŒã¹ãããŠããŸãããæ°ããããŒããŒããã©ã°ã€ã³ãæºåããŠããŸãã
2. Make sure you are using ionic-framework nightly or 3.4
3. Make sure you are using the latest WK plugin
4. Remove ionic-keyboard-plugin: **SUPER IMPORTANT STEP!!!!**
5. Install the new keyboard plugin:
```
ionic cordova plugin add https://github.com/ionic-team/cordova-plugin-keyboard --save
ã©ããïŒ ãããããªãã®ããã«ã©ã®ããã«æ©èœãããæããŠãã ãã
@manucorporat
ããŒãžã§ã³3.4ã¯ãŸã å
¬éãããŠããŸããã
Nightlyãæè¿å ¬éãããä»ã®ããŒãžã§ã³ã¯ãç¡å¹ãšããŠå€±æããŠããŸãã ã¹ã¯ãªãŒã³ã·ã§ãããèŠã
@jrmcdona node_moduleãåé€ããŠãnpm installãå床å®è¡ããŠã¿ãŸãããïŒ å¿ ã--savein ionic-angular @nightlyã䜿çšããŠãã ãã
ãã ãã3.4ã¯æ¬æ¥ãªãªãŒã¹ãããäºå®ã§ãã
@manucorporat UIã¯ããã§ããªãèŠæ ããããŸãïŒ å ¥åããã¯ã¹ã¯ããŒããŒãã®äžã«ãããŸãã ãã¶ããå ¥åãšããŒããŒãã®éåžžã«ç©ãããªåé¢ãªã®ã§ããããã1ã€ã®çŽ æŽããããŠãããã§ã¯ãªãããšãå°ãããããŸãã ããããå€§å¹ ã«æ¹åãããŸããïŒ
ããŒããŒããã¢ããªã«ã€ã³ããŒãããŠã衚瀺/é衚瀺ã®æ¹æ³ã§éã¶æ¹æ³ãããããŸããã§ããã
ïŒã€ãŸããã@ ionic-native / keyboardããã{Keyboard}ãã€ã³ããŒãããŸã;ïŒ
éä¿¡ãã¿ã³ãã¯ãªãã¯ãããšãããŒããŒããèªåçã«éããããã«èŠããŸãïŒKeyboard.Showãªã©ã®ã¡ãœããã䜿çšããããã«ããŒããŒããã¢ããªã«ã€ã³ããŒãããŠããªããããã³ãŒãã§éããŠããŸããïŒã iOS SMSã®ããã«ããŒããŒããéããŸããïŒ
ãããé²é³ã§ãã
https://1drv.ms/v/s!AnyXOztVClZYcY3vYXiXYaAZNdE
ããŒããŒããã©ã°ã€ã³èªäœã«å ¥åãå«ããŠéãã ããšããããããã€ã¹ã®çš®é¡ã«å¿ããŠã¹ã¿ã€ã«ãèšå®ããããšãããã§ããããã
ããä»äºãããŒïŒ
@manucorporatã¯ç¢ºãã«å€§ããªæ¹åã§ããããŒããŒããéããŠããŠãå ¥åããã¹ããäžéšã«åºå®ãããŠãããšãã«æåŸã®ã¡ãã»ãŒãžã衚瀺ã§ããããã«ãã³ã³ãã³ãïŒããããŒãé€ãïŒãããã·ã¥ãããªãã·ã§ã³ãè¿œå ã§ããŸããïŒ
ããŒããŒããæ©èœãããã«ã¯ãã©ã®ãã©ã°ã€ã³ãã€ã³ã¹ããŒã«ããå¿ èŠããããŸããïŒ
@aspidvip Manuã¯ãããã€ãã®æçš¿ã§ããã«ã€ããŠèšåããŠããŸãã ããã«ã³ããŒããŸãã
CLIãæŽæ°ããŸãã
npm install -g ionic
æ¯æ©ãŸãã¯3.4ã§ã€ãªã³ãã¬ãŒã ã¯ãŒã¯ã䜿çšããŠããããšã確èªããŠãã ããææ°ã®WKãã©ã°ã€ã³ã䜿çšããŠããããšã確èªããŠãã ãã
ionic-keyboard-pluginãåé€ããŸãïŒéåžžã«éèŠãªã¹ããã!!!!
æ°ããããŒããŒããã©ã°ã€ã³ãã€ã³ã¹ããŒã«ããŸãã
ioniccordovaãã©ã°ã€ã³è¿œå https://github.com/ionic-team/cordova-plugin-keyboard--save
ãããŠãæ°ãããã©ã°ã€ã³ããŒããŒãã«ã¢ã¯ã»ã¹ããæ¹æ³ã¯ïŒ
ããŒããŒããdivã®åãšããŠè¿œå ãããŠãããšäŸ¿å©ã§ãïŒ ã
ããŒããŒãã®æäœã¯ã©ã®ããã«é²ãã§ããŸããïŒ
çŽ æŽãããäœå@manucorporat ã æ¯æ©3.2ãã3.5ã«ã¢ããã°ã¬ãŒãããŸããïŒ@ 3.5.3-201707261447ïŒãããã¯ãã¢ããªå šäœã§äœ¿çšããŠããã»ãšãã©ã®ãã©ãŒã ã§æå³ãããšããã«æ©èœããŠããããã§ãã
次ã«ããã®ãã¹ãŠãæ©èœããŠããããšã瀺ãã¢ããªãã¢ãå ¬éããå¿ èŠããããŸãã èå³ãããã°é±æ«ã«è²¢ç®ããŠã¿ãŠãã ããã
ãã®@manucorporatã«è²»ãããããã¹ãŠã®äœæ¥ã«æè¬ããŸãïŒ ïŒãããŠããããã¹ããããã¹ãŠã®äººãïŒã
@ Peege151ç§ã¯ééããªãããã®
@ Peege151ã¢ããªã®ãã¢ãèŠããã§ãïŒ
ããŠãããã¯ã·ã§ãã¯ãããããŸããããç§ã¯ãŸã Ionic 2.2.1ã䜿çšããŠãããçŸæç¹ã§ã¯æã«å
¥ããããªãæ°ãããã°ãçºçãããšæããããããçŸåšææ°ã«ã¢ããã°ã¬ãŒãããããšã¯ã§ããŸããã
ãã®https://github.com/driftyco/cordova-plugin-wkwebview-engine.git#keyboard-fixesã¯æ©èœããŠããããã§ãããiOSã§ã¢ããªãã¯ã©ãã·ã¥ãããããã«ã¿ã¹ã¯ãå®è¡ãããŠããã¹ã±ãžã¥ãŒã«ãããŸããããšãããšã©ãŒã衚瀺ãããŸãã ã
Ionic 2.2.1ã§https://github.com/driftyco/cordova-plugin-wkwebview-engine.gitã䜿çšã§ããŸããïŒ ãã£ã³ã¹ã¯ãããŸããïŒ
ããã§ããã®ãã©ã°ã€ã³1.1.3ã®ææ°ãªãªãŒã¹ãIonic 2.2.1ã§è©Šããgithubãªããžããªã®æ瀺ã«åŸãã以äžã®ã³ãŒããè¿œå ããionic-plugin-keyboardãåé€ããŸããïŒ @manucorporatã圌ã®ã³ã¡ã³ãã§æå³ããŠãããš
iOSããŒãžã§ã³10以éã®iOSã·ãã¥ã¬ãŒã¿ãŒã§ã¯ãåé¡ãªãã¯ã©ãã·ã¥ããããšãªããæåŸ
ã©ããã«æ©èœããŸããã ç§ã¯ãŸã å®éã®é»è©±ã§ãããè©Šãå¿
èŠããããŸãïŒä»¥åã¯ãhttpsïŒ//stackoverflow.com/questions/36706398/in-ionic-2-how-to-float-an-element-above-ã®ãœãªã¥ãŒã·ã§ã³ã䜿çšãããšã¢ããªãã¯ã©ãã·ã¥ããŸããthe-keyboard-when-the-keyboard-shows / 36804830ïŒ36804830ïŒ
ããŒããŒããæ¶ãããã³ããããããã¿ã³ã«è¿œå ããŸã(mousedown)="$event.preventDefault()"
å«ãŸããŠããconfig.xml
<feature name="CDVWKWebViewEngine">
<param name="ios-package" value="CDVWKWebViewEngine"/>
</feature>
<plugin name="cordova-plugin-wkwebview-engine" spec="~1.1.3"/>
<plugin name="cordova-plugin-keyboard" spec="https://github.com/ionic-team/cordova-plugin-keyboard"/>
<allow-navigation href="http://localhost:8080/*"/>
誰ããå©ããããšãã§ãããªãã°ãç§ã¯3ã€ã®è³ªåããããŸãïŒ
1- ionic-plugin-keyboardãåãå€ããåŸããAndroidã§æ£åžžã«åäœãç¶ããŸããïŒ
2-ããã¯<allow-navigation href="http://localhost:8080/*"/>
æ£ããã§ããïŒ localhostïŒ8080ã§ïŒ
3-以äžã®ã³ãŒããconfig.xmlããåé€ããå¿
èŠããããŸã
<feature name="Keyboard">
<param name="ios-package" onload="true" value="IonicKeyboard"/>
</feature>
ããªãã®åé¡ãã¢ã³ããã€ãã«ãããªããthiwã¯ããªããå©ããŸãã ionic config.xmlã§ãplatform name = "android"ã¿ã°ã«æ¬¡ã®è¡ãè¿œå ããŸãã
<platform name="android">
<edit-config file="AndroidManifest.xml" mode="merge" target="/manifest/application/activity"> <activity android:windowSoftInputMode="adjustPan" /></edit-config>
...the rest of the android configs...
</platform>
ããã«ãããããŒããŒãããã¹ãŠãæŒãäžããã®ãé²ããããŒããŒããã³ã³ãã³ãã«åçŽã«ãªãŒããŒã¬ã€ããŸãã ãããã£ãŠãåäœã¯iOSããŒããŒããšåããŸãã¯é¡äŒŒããŠããŸãã
@Jatapiaroãã¥ãŒã®äžéšã«å ¥åããããšãããŸãæ©èœããŸãããããŒããŒãããããé衚瀺ã«ããå ¥åå 容ã確èªã§ããªããªããŸãã
Ionicããã£ããã¢ããªã±ãŒã·ã§ã³ã«æé©ãªå Žæã ãšã¯æããŸããã ç§ã¯ãããæ£ããç解ããããšãã§ããããã¹ãŠã®æçš¿ãšã³ã¡ã³ãããæ°å¹ŽéèŠåŽããŠãããšä¿¡ããŠããŸãã ç§ã®å人çãªæèŠã§ãã iOSãšAndroidã«ãŸãããionicçšã®ãµã³ãã«ã®åäœãããã£ããã¢ããªããã£ããšããããããã¯æ¬åœã«äººã ãå©ãããããããŸããã
@jrmcdona https://github.com/EddyVerbruggen/cordova-plugin-native-keyboardãè©ŠããŸãããïŒ
ã¯ããå®éãç§ãã¡ã¯ããã«å¯ŸããŠæ¯æããããŸããããããŠããã¯ããªãè¯ãã£ãã§ãïŒ ããã¯ãããè²·ãäœè£ã®ãã人ã ã«ãšã£ãŠè¡ãããã®æè¯ã®ã«ãŒãã§ãããã ãšã«ããç§ã®çµéšã§ã¯ã
EddyVerbruggenããŒããŒããã©ã°ã€ã³ã®ã©ããã§ãMaxLynchã¯ãã®ãã©ã°ã€ã³ãIonicãã£ããããã±ãŒãžã®äžéšã«ããããšãçŽæããŸããã ç§ã¯ãã®ã¹ã¬ããã§ããã«ã€ããŠå°ãããŸã圌ããã€ãŒãããŸããã å¿çããããŸãããã£ããããã±ãŒãžãäœã§ãããããããŸããã 泚æãæã£ãŠãããã°ããçµã¡ãŸããã®ã§ãæŽæ°ããããããããŸãã...
ç§ãæ£ããèŠããŠããã°ã1é±éåã®ããã«Twitterã®ã©ããã§ãIonicãæŽæ°/æ°ããããŒããŒããã©ã°ã€ã³ã«åãçµãã§ããã®ãèŠãŸãã...ç§ãééã£ãŠããªãå Žåã¯ãå·éã«ä¿ã¡ãåŸ ã£ãŠèŠãŠãã ãã
ããã«ã¡ã¯ç§ã¯IONICãããžã§ã¯ãv1ãæã£ãŠããŸãããããŠç§ã¯æ»ããã¿ã³ãæã ç¡å¹ã§ããããšãçºèŠããŸããããã¯é·ãéç§ãæ©ãŸããŸãããç§ã¯å©ããå¿ èŠã§ãããããšã
@miaozhenkunãã®ãªããžããªã¯https://github.com/ionic-team/ionic-v1ã䜿çšã
@astecããªãã¯äžåœäººã§ããïŒããããšãããããŸã
ããŒããŒãã«ã€ãªã³ããã¹ãããŒã®åé¡ããããŸã
<ion-card class="cards " >
<div class="relative">
<div class="image_container">
<img class="imageFull"
src="http://via.placeholder.com/200x200" />
</div>
<ion-row class=" absolute bottom0 ">
<ion-item>
<ion-textarea placeholder="Message..." >
</ion-textarea>
</ion-item>
</ion-row>
</div>
</ion-card>
ç§ã¯CSSã®äžã§äžèšã®ã«ãŒãã®ãªã¹ãã䜿çšããŠããŸã
ãçžå¯Ÿç{
positionïŒrelative ïŒimportant;
}
ã絶察ã®{
äœçœ®ïŒçµ¶å¯ŸïŒéèŠ;
}
.bottom0 {
äžïŒ0;
}
textareaãã¯ãªãã¯ãããšããŒããŒããéããŸãããèŠçŽ ã«ã¹ã¯ããŒã«ããŸããããäœããå ¥åãããštextareaã«ã¹ã¯ããŒã«ããŸãã
ç§ã¯ãion-textareaã®èŠªã«çžå¯Ÿçãªäœçœ®ã䜿çšããå Žåã«ã®ã¿åé¡ãååšããããšã芳å¯ããŸããã
çžå¯Ÿçãªäœçœ®ãæã€workaroudãœãªã¥ãŒã·ã§ã³ã¯ãããŸããïŒ
ããã¿ããªïŒ
誰ããããã«å¯Ÿãã解決çãèŠã€ããŸããã
ããªãã®å©ãã«æè¬ããŸãã
`cliããã±ãŒãžïŒïŒ/ usr / local / Cellar / node @ 6 / 6.12.2 / lib / node_modulesïŒ
@ionic/cli-utils : 1.19.0
ionic (Ionic CLI) : 3.19.0
ã°ããŒãã«ããã±ãŒãžïŒ
cordova (Cordova CLI) : 8.0.0
ããŒã«ã«ããã±ãŒãžïŒ
@ionic/app-scripts : 3.1.6
Cordova Platforms : android 6.3.0 ios 4.5.4
Ionic Framework : ionic-angular 3.9.2
ã·ã¹ãã ïŒ
Android SDK Tools : 26.1.1
Node : v6.12.2
npm : 5.5.1
OS : macOS Sierra
Xcode : Xcode 9.2 Build version 9C40b
ç°å¢å€æ°ïŒ
ANDROID_HOME : /Users/santhoshgl/Library/Android/sdk
ãã®ä»ïŒ
backend : legacy`
ã¯ãªãã¯ãã¿ã³ã«è¿œå (mousedown)="$event.preventDefault(); yourFunction()"
é£çµ¡ãã£ãïŒ
ã¢ãã«ã@mladilavãåŸ ã£ãŠäœ¿ããããšæããŸã
iOSããŒããŒãã®ã€ãªã³å ¥åã«åé¡ããããŸããã€ãŸããããŒããŒããèµ·åããåŸãå ¥åã«ãã£ã¬ããã衚瀺ãããããŠãŒã¶ãŒã¯ãã£ãŒã«ãã«æ£ããå ¥åã§ããŸãã ããŸããŸãªã€ãªã³ããŒãžã§ã³ãWebãã¥ãŒããŒãžã§ã³ç®¡çãªã©ããã¹ãŠè©ŠããŸãããã圹ã«ç«ã¡ãŸããã§ããã ã€ãªã³å ¥åãã¹ã¯ããŒã«ããå¿ èŠãããå Žåã¯åé¡ãçºçãããšããåé¡ã ãšæããŸããã€ãªã³å ¥åãããŒãžã®æäžéšã«ããå Žåã¯åé¡ããªãããã§ãã
ãã ããåé¡ãå®å šã«ä¿®æ£ãããã®ã1ã€èŠã€ãããŸããããã®ã¢ããªãXcode8.3.3ã§ãã«ãããŸããã ç§ãè©ŠããŠãã以åã®ãã«ãã¯ãã¹ãŠãæ°æ¥åã«ãªãªãŒã¹ãããææ°ã®Xcode9.3ãªãªãŒã¹ã«å¯ŸããŠXcode9.0ã䜿çšããŠããŸããã ãã®ä¿®æ£ã®åé¡ã¯ãAppleãè¿ãå°æ¥Xcode8ããéä¿¡ãããã¢ããªãã©ãŒã ãåé€ããå¯èœæ§ãããããšã§ãã ä»ã«äœãã¢ã€ãã¢ã¯ãããŸããïŒ
pbãã¹ã¯ããŒã«ããããã«ãç§ã¯ããã«ããã¯ãæžããŸããïŒ https ïŒ
åé¡ãããããšãïŒ Ionic3ã®ãœãŒã¹ã³ãŒããšåé¡ãå¥ã®ãªããžããªã«ç§»åããŸããã ãã®åé¡ãIonic3ã®ãªããžããªã«ç§»åããŸãããã®åé¡ã远跡ããŠãã ããã
Ionicããå©çšããã ãããããšãããããŸãã
åé¡ã¯æ¬¡ã®å Žæã«ç§»åããŸããïŒ https ïŒ
æãåèã«ãªãã³ã¡ã³ã
ç§ã®å ŽåãAppModuleãã€ã³ããŒãã®äžã«è¿œå ãããšãããã©ã«ããããæ¯èŒçåªãããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãåŸãããŸãã